dml:数据库操作语言
插入:insert 修改:update 删除:delete
方式一:经典插入
insert into 表名 (列名,...) values(值1,...); insert into students(name,hometown,birthday) values('黄蓉','桃花岛','2016-3-2'); insert into 表名 values (...) insert into students values(0,’郭靖‘,1,'蒙古','2016-1-2'); insert into 表名 values(...),(...)...; insert into classes values(0,'python1'),(0,'python2');
注意: 1. 值类型与列类型一致 2. 可以为NULL的列,不写列字段则不写value / 写列字段则value写NULL 3. 列数与值个数一致 4. 可以省略列名,默认所有列 5. 可以插入同时多行 6. 支持子查询 INSERT INTO user_t(username,age,sex,address)(SELECT username,age,sex,address FROM user_t WHERE id=16)
方式二:(不推荐)
insert into 表名 set 列名=值,列名=值,...
特点: 1. 不支持多行插入 2. 不支持子查询
单表修改:
update 表名 set 列=新值,列=新值,... where 筛选条件;
多表修改:
-- sql92: update 表1 别名,表2 别名 set 列=值,... where 连接条件 and 筛选条件; -- sql99: update 表1 别名 inner|left|right join 表2 别名 on 连接条件 set 列=值,... where 筛选条件;
单表删除:
delete from 表名 where 筛选条件;
多表删除:
-- sql92语法: delete 表1的别名,表2的别名 from 表1 别名,表2 别名 where 连接条件 and 筛选条件; -- sql99语法: delete 表1的别名,表2的别名 from 表1 别名 inner|left|right join 表2 别名 on 连接条件 where 筛选条件;
truncate table类似于delete删除所有行的语句或drop table然后再create table语句的组合,尽管truncate table与delete相似,但它被分类为DDL语句而不是DML语句
truncate table 表名;