【MySQL入門】自動インクリメント(AUTO_INCREMENT)の主キーにデータを挿入する方法
MySQLでは、カラムに自動インクリメント(AUTO_INCREMENT)の主キーを設定すると、INSERT文でそのカラムに値を指定する必要がなくなるという大きなメリットがあります。つまり、Idカラムの値はMySQLが自動的に採番してくれるのです。
本記事では、実際にテーブルを作成し、データを挿入しながら、自動インクリメント主キーの動作をわかりやすく解説します。
1. テーブルの作成
まず、自動インクリメントの主キーを持つテーブルを作成しましょう。テーブル作成のクエリは以下のとおりです。
mysql> create table AutoIncrementedPrimary
-> (
-> Id int auto_increment,
-> Name varchar(100),
-> Age int,
-> Primary key(Id)
-> );
Query OK, 0 rows affected (0.56 sec)
この例では、Idカラムに auto_increment を設定し、同時に主キー(PRIMARY KEY)として定義しています。これにより、レコードが挿入されるたびにIdの値が自動的に1ずつ増加していきます。
2. データの挿入
次に、NameカラムとAgeカラムのみを指定してレコードを挿入します。Idカラムは auto_increment が設定されているため、MySQLが自動的に値を割り当ててくれます。レコード挿入のクエリは以下のとおりです。
mysql> insert into AutoIncrementedPrimary(Name,Age) values('John',23);
Query OK, 1 row affected (0.12 sec)
mysql> insert into AutoIncrementedPrimary(Name,Age) values('Sam',24);
Query OK, 1 row affected (0.15 sec)
mysql> insert into AutoIncrementedPrimary(Name,Age) values('Carol',30);
Query OK, 1 row affected (0.13 sec)
mysql> insert into AutoIncrementedPrimary(Name,Age) values('Johnson',28);
Query OK, 1 row affected (0.16 sec)3. 挿入したデータの確認
SELECT文を使って、テーブル内のすべてのレコードを表示してみましょう。クエリは以下のとおりです。
mysql> select * from AutoIncrementedPrimary;
実行結果
+----+---------+------+
| Id | Name | Age |
+----+---------+------+
| 1 | John | 23 |
| 2 | Sam | 24 |
| 3 | Carol | 30 |
| 4 | Johnson | 28 |
+----+---------+------+
4 rows in set (0.00 sec)
上記の出力結果を見ると、INSERT文でIdカラムを指定していないにもかかわらず、1から4までの連番が自動的に振られていることが確認できます。このように、自動インクリメントの主キーを使えば、一意なIDの管理をMySQLに任せることができ、開発の手間を大幅に減らすことができます。
-
JavaでMySQLデータベースにデータを挿入する方法をわかりやすく解説
JavaからMySQLデータベースにデータを挿入するには、SQLのINSERTコマンドを使用します。基本的な構文は以下の通りです。 INSERT INTO テーブル名(カラム名1, カラム名2, ......カラム名N) VALUES(値1, 値2, ......値N); ここからは、Javaプログラムを使って実際にMySQLデータベースへレコードを挿入する手順を、順を追って見ていきましょう。 ステップ1:MySQLでテーブルを作成する まず、データの挿入先となるテーブルをMySQL側に作成します。以下のクエリを実行してください。 mysql> create table Insert
-
MySQLで別テーブルの主キーを外部キーとして参照する方法をわかりやすく解説
MySQLでは、あるテーブルの主キー(PRIMARY KEY)を、別のテーブルの外部キー(FOREIGN KEY)として参照することで、テーブル間にリレーション(関連付け)を構築できます。これによりデータの整合性が保たれ、参照先に存在しない値の登録を防ぐことができます。外部キー制約を追加する基本構文既存のテーブルに対して外部キー制約を追加するには、ALTER TABLE文を使用します。基本的な構文は以下のとおりです。alter table yourSecondTableName add constraint `yourConstraintName` foreign key(`yourSecon