追加

記事の内容

概要

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 |
+----+---------+------+
記事の内容
閉じる