MySQLでテーブル作成時にAUTO_INCREMENTを設定する方法
MySQLでテーブル作成時にAUTO_INCREMENTを設定する方法
MySQLでは、テーブル作成時にAUTO_INCREMENTを指定することで、特定のカラムの値を自動的に連番で採番できます。主キーとして使用するIDカラムなどに設定するのが一般的です。
ここでは、StudentId(学生ID)に対してAUTO_INCREMENTを設定し、さらに連番の開始値を30に指定したテーブルを作成する手順を紹介します。
1. テーブルの作成
まず、CREATE TABLE文でテーブルを作成します。StudentIdにAUTO_INCREMENTを設定し、テーブルオプションとして「AUTO_INCREMENT=30」を指定することで、連番の開始値を30にしています。
mysql> create table DemoTable
-> (
-> StudentId int NOT NULL AUTO_INCREMENT,
-> StudentFirstName varchar(100),
-> StudentLastName varchar(100),
-> StudentAge int,
-> StudentCountryName varchar(100),
-> PRIMARY KEY(StudentId)
-> )AUTO_INCREMENT=30;
Query OK, 0 rows affected (0.69 sec)
2. レコードの挿入
次に、INSERTコマンドを使ってレコードを挿入します。StudentIdは自動的に採番されるため、INSERT文では指定する必要がありません。
mysql> insert into DemoTable(StudentFirstName,StudentLastName,StudentAge,StudentCountryName) values('John','Smith',21,'US');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(StudentFirstName,StudentLastName,StudentAge,StudentCountryName) values('Chris','Brown',20,'AUS');
Query OK, 1 row affected (0.19 sec)3. レコードの確認
SELECT文ですべてのレコードを表示して確認しましょう。
mysql> select *from DemoTable;
出力結果
+-----------+------------------+-----------------+------------+--------------------+
| StudentId | StudentFirstName | StudentLastName | StudentAge | StudentCountryName |
+-----------+------------------+-----------------+------------+--------------------+
| 30 | John | Smith | 21 | US |
| 31 | Chris | Brown | 20 | AUS |
+-----------+------------------+-----------------+------------+--------------------+
2 rows in set (0.00 sec)
出力結果を見ると、IDを明示的に指定しなくても、最初のレコードには「30」、次のレコードには「31」と、指定した開始値から自動的に連番が割り当てられていることがわかります。
ポイントまとめ
- AUTO_INCREMENTを設定するカラムは、NOT NULLかつインデックス(通常はPRIMARY KEY)である必要があります。
- テーブル作成時に「AUTO_INCREMENT=数値」を指定すると、連番の開始値を任意の値に変更できます。
- INSERT時にAUTO_INCREMENTカラムを省略すれば、MySQLが自動的に一意な値を採番してくれます。
-
MySQLで単一テーブルをバックアップする方法【mysqldumpの使い方を解説】
MySQLデータベースから特定のテーブルだけをバックアップしたい場合、標準で付属しているダンプユーティリティ「mysqldump」を使うのが最も確実で一般的な方法です。なお、古いMySQL(バージョン5.0およびそれ以前)ではBACKUP TABLEステートメントによるテーブルバックアップも可能でしたが、この構文はすでに廃止されており、現行バージョンでは利用できません。本記事では、mysqldumpを使って単一テーブルのバックアップファイル(.sql形式)を作成する具体的な手順を解説します。ステップ1:コマンドプロンプトを起動するまず、ショートカットキーでコマンドプロンプト(cmd)を開きます
-
【Spring Boot】HibernateでMySQLのテーブルを自動作成する方法
Spring BootとHibernateを組み合わせると、エンティティクラスから自動的にMySQLのテーブルを作成できます。本記事では、application.propertiesの設定だけでテーブルを自動生成する手順を、実際のコード例とともにわかりやすく解説します。1. application.propertiesの設定テーブルを自動作成するには、まずapplication.propertiesに以下の1行を追加します。spring.jpa.hibernate.ddl-auto=updateddl-auto=updateを指定すると、アプリケーションの起動時にHibernateがエンティテ