1、回顾上文
2、普通插入
INSERT [INTO] tb_name [(col_name)] {values|value} ({expr|DEFAULT},...),(...),...
例子:
创建表users
create table users (
id TINYINT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL,
password VARCHAR(32) NOT NULL,
age TINYINT UNSIGNED NOT NULL DEFAULT 10, sex BOOLEAN );
普通插入记录:
1、
INSERT users VALUES(NULL,'Tom','234',18,1);
/*NULL表示默认自增,或者填写DEFAULT*/
2、插入的数据可以使用表达式,如:
INSERT users VALUES(NULL,'Tom','234',9*8-66,1);
3、插入数据为默认值,如:
INSERT users VALUES(NULL,'Tom','234',DEFAULT,1);
4、插入多条记录,以逗号分隔就行
INSERT users VALUES(NULL,'Tom','234',18,1),(NULL,'Jane','343',DEFAULT,2)
3、插入记录-INSERT SET与SELECT
- INSERT SET
- INSERT [INTO] tb_name SET col_name = {expr|DEFAULT},...
与第一种方法区别:此方法可以使用子查询(subquery)且一次性只能插入一条记录
例子:
- INSERT SELECT
INSERT users SET username='Chen',password='324',sex=1;
- INSERT [INTO] tb_name [(col_name,...)] SELECT ...
这种方法可以将查询到的结果插入到指定的数据表中
例子:
INSERT test(username) SELECT username FROM user WHERE age > 20;