記事の内容
概要
INSERT文は、データベース内のテーブルに新しい行を挿入するために使用されます。
INSERT
記述
INSERT INTO テーブル名 VALUES (値)
【usersテーブルレコードをすべて表示】
mysql> SELECT * FROM users;
+----+-------+-----+
| id | name | age |
+----+-------+-----+
| 1 | user1 | 25 |
| 2 | user2 | 35 |
| 3 | user3 | 27 |
+----+-------+-----+
【レコード追加】
mysql> INSERT INTO users VALUES (4, "user4", 30);
Query OK, 1 row affected (0.01 sec)
【usersテーブルレコードをすべて表示】
mysql> SELECT * FROM users;
+----+-------+-----+
| id | name | age |
+----+-------+-----+
| 1 | user1 | 25 |
| 2 | user2 | 35 |
| 3 | user3 | 27 |
| 4 | user4 | 30 |
+----+-------+-----+
限定指定
NOT NULL指定以外を未入力でレコード追加することもできます。
※デフォルト値 or NULLの値が入る
INSERT
記述
INSERT INTO テーブル名 (カラム名) VALUES (値);
【nameとageはNullを許可/nameのみDefault指定】
mysql> SELECT COLUMNS FROM users;
+-------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------------+------+-----+---------+----------------+
| id | bigint unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | no_name | |
| age | int | YES | | NULL | |
+-------+-----------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
【usersテーブルレコードをすべて表示】
mysql> SELECT * FROM users;
+----+-------+-----+
| id | name | age |
+----+-------+-----+
| 1 | user1 | 25 |
| 2 | user2 | 35 |
| 3 | user3 | 27 |
+----+-------+-----+
【レコード追加】
mysql> SELECT INTO users (id) VALUES (4);
Query OK, 1 row affected (0.01 sec)
【usersテーブルレコードをすべて表示】
mysql> SELECT * FROM users;
+----+---------+------+
| id | name | age |
+----+---------+------+
| 1 | user1 | 25 |
| 2 | user2 | 35 |
| 3 | user3 | 27 |
| 4 | no_name | NULL |
+----+---------+------+