MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでシーケンス(連番)を作成・使用する方法をわかりやすく解説

MySQLにはOracleやPostgreSQLのような独立したシーケンスオブジェクトは存在しませんが、カラムにAUTO_INCREMENT属性を設定することで、同じ機能を簡単に実現できます。レコードを挿入するたびに、初期値1から始まり、1ずつ自動的に増加する連番が割り当てられます。

1. シーケンス用テーブルの作成

まず、CREATE TABLE文を使って、AUTO_INCREMENT属性を持つカラムを含むテーブルを作成します。主キーとして設定するのが一般的です。

mysql> CREATE table SequenceDemo
-> (
-> SequenceId int auto_increment,
-> primary key(SequenceId)
-> );
Query OK, 0 rows affected (1.22 sec)

2. レコードの挿入

テーブル作成後は、INSERTコマンドで値を指定せずにレコードを挿入するだけで、自動的に連番が採番されます。

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.19 sec)

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.14 sec)

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.10 sec)

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.12 sec)

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.09 sec)

3. 挿入結果の確認

SELECT文を使って、登録されたレコードを確認してみましょう。

mysql> SELECT * from SequenceDemo;

実行結果は以下のとおりです。

+------------+
| SequenceId |
+------------+
| 1          |
| 2          |
| 3          |
| 4          |
| 5          |
+------------+
5 rows in set (0.00 sec)

このように、1から始まる連番が自動的に割り振られていることがわかります。

4. シーケンスの開始値を変更する方法

AUTO_INCREMENTの開始値は、ALTER TABLE文を使って任意の値に変更できます。基本構文は以下のとおりです。

ALTER TABLE テーブル名 AUTO_INCREMENT = 任意の値;

ここでは、開始値を500に設定してみます。

mysql> alter table SequenceDemo auto_increment = 500;
Query OK, 0 rows affected (0.17 sec)
Records: 0 Duplicates: 0 Warnings: 0

変更後の動作確認

設定後、新しくレコードを挿入すると、500から連番が始まります。

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.15 sec)

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.15 sec)

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.05 sec)

すべてのレコードをSELECT文で表示してみましょう。

mysql> SELECT * from SequenceDemo;

実行結果は以下のとおりです。

+------------+
| SequenceId |
+------------+
| 1          |
| 2          |
| 3          |
| 4          |
| 5          |
| 500        |
| 501        |
| 502        |
+------------+
8 rows in set (0.00 sec)

まとめ

上記の出力結果からわかるように、最初の5件は1〜5の連番が採番され、AUTO_INCREMENT値を500に変更した以降のレコードには、500から1ずつ増加する連番が割り当てられています。

ポイント:

  • MySQLではシーケンス専用オブジェクトがないため、AUTO_INCREMENT属性で代用します。
  • 開始値の変更は「ALTER TABLE テーブル名 AUTO_INCREMENT = 値」で行えます。
  • 設定する値は、現在の最大値より大きい数値を指定する必要があります。
  1. Facebookアバターの作成と使い方完全ガイド|作り方からシェア術まで

    知っておくべきポイント アバターの作成:アプリを開いて「メニュー」>「もっと見る」>「アバター」の順にタップし、肌の色・髪型・服装などをカスタマイズしたら「完了」をタップします。 アバターのシェア:「設定」>「アバター」>「シェア」>「投稿を作成」の順にタップし、ポーズを選んで「次へ」へ進みます。メッセージを入力して「投稿」をタップすれば完了です。 この記事では、Facebookアバターの作成方法と基本的な使い方をわかりやすく解説します。手順はAndroid版およびiOS版のFacebookモバイルアプリに対応しています。 Facebookアバターの作り方 Facebookアバターは、Bi

  2. TikTokアバターの作り方と使い方|モバイルアプリでの設定手順をわかりやすく解説

    TikTokのアバターフィルターを使えば、実際の自分の姿をアニメーション風のキャラクターに置き換えることができます。自分に似せたアバターにすることも、まったく別の見た目のキャラクターにすることも可能です。この機能は、顔を出したくないときや、まったく新しいデジタル上のペルソナを演じたいときにとても便利です。アバターを選ぶ際は、あらかじめ用意された既製キャラクターから選ぶことも、ゼロからオリジナルのアバターを作成することもできます。一度作成してしまえば、その後のTikTok動画で何度でも使い回すことが可能です。それでは、TikTokモバイルアプリでアバターを作成・使用する具体的な手順を見ていきまし