1、一次插入一条记录
INSERT [INTO] tbl_name [(字段名称)] VALUES(值|exp|DEFAULT...);
mysql> CREATE TABLE IF NOT EXISTS user(-> id SMALLINT UNSIGNED AUTO_INCREMENT KEY,-> username VARCHAR(20) NOT NULL UNIQUE,-> age TINYINT UNSIGNED-> );
mysql> -- 不指定字段名称mysql> INSERT INTO user VALUES(1,'张三',11);mysql> -- 指定字段名称mysql> INSERT user(username,age) VALUES('李四',15);mysql> -- 使用表达式mysql> INSERT user(id,username,age) VALUES(5,'王5',3+2);
mysql> SELECT * FROM user;+----+----------+------+| id | username | age |+----+----------+------+| 1 | 张三 | 11 || 2 | 李四 | 15 || 5 | 王5 | 5 |
2、一次插入多条记录
INSERT [INTO] tbl_name [(字段名称)] VALUES(值...),(值...),(值...)...;
mysql> -- 一次插入多条记录mysql> INSERT user(username,age) VALUES('张1',21),('张2',22),('张3',23);mysql> SELECT * FROM user;+----+----------+------+| id | username | age |+----+----------+------+| 1 | 张三 | 11 || 2 | 李四 | 15 || 5 | 王5 | 5 || 6 | 张1 | 21 || 7 | 张2 | 22 || 8 | 张3 | 23 |+----+----------+------+
3、通过SET插入记录
在子查询中使用较多
INSERT [INTO] tbl_name SET 字段名称=值,...;
mysql> INSERT INTO user SET username='大大',age=88;mysql> SELECT * FROM user;+----+----------+------+| id | username | age |+----+----------+------+| 1 | 张三 | 11 || 2 | 李四 | 15 || 5 | 王5 | 5 || 6 | 张1 | 21 || 7 | 张2 | 22 || 8 | 张3 | 23 || 9 | 大大 | 88 |+----+----------+------+