MySQLでAUTO_INCREMENT(自動採番)列を扱う方法をわかりやすく解説
MySQLで自動増分(オートインクリメント)の列を扱うには、テーブル作成時に該当する列へ AUTO_INCREMENT を指定します。これにより、レコードを挿入するたびに一意の番号が自動的に採番されるようになります。
AUTO_INCREMENT付きテーブルの作成
まずはテーブルを作成しましょう。ここでは、自動増分させたい列である Id フィールドに PRIMARY KEY と AUTO_INCREMENT を設定しています。
mysql> create table DemoTable
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FirstName varchar(20),
-> LastName varchar(20)
-> );
Query OK, 0 rows affected (0.71 sec)
レコードの挿入
続いて、INSERT文を使ってテーブルにデータを追加します。Id 列は自動的に採番されるため、INSERT時には FirstName と LastName だけを指定すれば問題ありません。
mysql> insert into DemoTable(FirstName,LastName) values('John','Smith');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(FirstName,LastName) values('Chris','Brown');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(FirstName,LastName) values('Carol','Taylor');
Query OK, 1 row affected (0.21 sec)登録内容の確認
SELECT文を実行して、テーブル内のすべてのレコードを表示してみましょう。
mysql> select *from DemoTable;
実行結果
+----+-----------+----------+
| Id | FirstName | LastName |
+----+-----------+----------+
| 1 | John | Smith |
| 2 | Chris | Brown |
| 3 | Carol | Taylor |
+----+-----------+----------+
3 rows in set (0.00 sec)
このように、AUTO_INCREMENT を設定した列には値を明示的に指定しなくても、1から順に自動的に連番が割り当てられていることが確認できます。主キーの一意なIDを簡単に管理できるため、ユーザー情報や注文データなど、レコードを一意に識別したいテーブルで広く活用されています。
-
JavaでMySQLテーブルに1つのカラムのみを挿入する方法
JavaとMySQLを連携させる際、テーブルの一部のカラムだけにデータを挿入したいケースはよくあります。その場合は、JDBCのINSERT INTOステートメントを使用します。挿入対象のカラム名を明示的に指定することで、他のカラムには影響を与えずに1つのカラムのみへ値を登録できます。この記事では、実際にテーブルを作成し、Javaのコードから「Name」という1つのカラムだけにデータを挿入する手順を解説します。1. 挿入先のテーブルを作成するまず、MySQLで以下のようにテーブルを作成しておきましょう。ここでは、varchar型の「Name」カラムを1つだけ持つシンプルなテーブルを用意します。m
-
MySQLクエリでテーブル列の日付形式を変更する方法
MySQLクエリでテーブル列の日付形式を変更する方法 MySQLでテーブルに保存された日付の表示形式を変更するには、DATE_FORMAT()関数を使用します。この記事では、サンプルテーブルを作成し、実際に日付形式を変換するまでの手順をサンプルコード付きでわかりやすく解説します。 1. サンプルテーブルの作成 まず、datetime型の列を持つテーブルを作成しましょう。 mysql> create table DemoTable1906 ( DueTime datetime ); Query OK, 0 rows affected (0.00 sec) 2.