目录
1 INSERT(插入记录)
1.1 insert-values
语法结构:
INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...
例子:在表users中插入记录,表的结构如下:
插入记录:
INSERT users VALUES(NULL,'Tom','123',25,1); //id设置为NULL
INSERT users VALUES(DEFAULT,'John','123',20,0); //id设置为DEFAULT
INSERT users VALUES(DEFAULT,'Mary','123',3*7+2,0); //age使用表达式进行赋值
INSERT users VALUES(DEFAULT,'Kay','123',DEFAULT,0); //age默认约束设置为DEFAULT
INSERT users VALUES(DEFAULT,'Wang','456',22,1),(NULL,'Will',md5('123'),32,1); //插入多条记录,用英文的逗号隔开
注意:
①若省略列名,所有的字段都要赋值。
②id是自动编号的字段,若省略col_name,这id可赋值为NUUL,或DEFAULT。
1.2 insert-set
语法结构:
INSERT [INTO] tbl_name SET col_name={expr | DEFAILT},...
与方法一的区别:
①该方法可以使用子查询(SubQuery)
②该方法1次只能插入1条记录。
例子:INSERT users SET username='in_set',password='333';
1.3 insert-select
语法结构:
INSERT [INTO] tbl_name [(col_name,...)] SELECT ...
区别:此方法可以将查询结果插入到指定的数据表中。
例子:(1)首先创建一个表(test1)
CREATE TABLE test1(
id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20)
);
(2)将users表中年龄大于30的记录插入test1 中(如下表所示记录)
(3)添加代码:
INSERT test1(username) SELECT username FROM users WHERE age>=30;
结果如下:
2 UPDATE(单表更新)
当输入的字段有误,或者想更改字段值,则可以使用UPDATE更新字段
语法结构:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1 | DEFAULT} [,col_name2={expr2 | DEFAULT}]...
[WHERE where_condition]
例1:令age=age+10(不加WHERE条件 所有记录将被更新)
UPDATE users SET age = age+10;
例2:令 age=age-id,并且令sex=0(不加WHERE条件 所有记录将被更新)
UPDATE users SET age=age-id,sex=0;
例三:加WHERE条件,令所有id为偶数的记录,age=age+100;
3 DELETE(单表删除)
语法结构:
DELETE FROM tbl_name [WHERE where_condition]
注意:若省略WHERE条件语句将删除表中的全部记录。
例子:删除id为某一值的记录。
DELETE FROM users WHERE id=6;