什么是DMl?
答:
DML:Data Manipulation Language数据操作语言,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是必须要掌握的指令。
插入值
方式1:
insert into demo1[(字段,字段,...,字段)] values(值,值,...,值)
方式2:
insert into demo1 set 字段=值,字段=值,...,字段=值
说明:
值和字段需要一一对应
如果是字符型或日期类型,值需要用单引号引起来;如果是数值类型,不需要用单引号
字段和值的个数必须一致,位置对应
字段如果不能为空,则必须插入值
可以为空的字段可以不用插入值
表名后面的字段可以省略不写,此时表示所有字段,顺序和表中字段顺序一致。
批量插入值
方式1:
insert into demo2[(字段,字段,...,字段)] values(值,值,...,值),(值,值,...,值),...,(值,值,...,值)
方式2:
insert into demo2[(字段,字段,...,字段)] select语句
单表更新
update 表名 [[as] 别名] set [别名.]字段=值 [where 条件]
多表更新
update 表名1 [[as] 别名1],表名2 [[as] 别名2] set [别名1.]字段=值,set [别名2.]字段=值 [where条件]
建议采用单表方式更新,方便维护。
单表删除(删除表中数据)
delete [别名] from 表名 [[as] 别名]
注意:
如果起别名,delete后面必须写别名
如果没有起别名,表名就是别名或者可以省略不写
多表删除(删除表中数据)
delete [别名1][,[别名2] from 表名1 [[as] 别名1],表名2 [[as] 别名2] [where条件]
注意:
多表删除时delete from之间要有一个别名,若from后没有起别名,则使用默认别名,即表名。
truncate删除
truncate 表名
删除表中所有数据
drop、truncate、delete的区别
truncate、drop 是数据库定义语言(DDL)
delete 是数据库操作语言(DML)
判断 | drop | truncate | delete |
---|---|---|---|
是否支持条件删除 | 不支持 | 不支持 | 支持 |
是否支持表结构删除 | 支持 | 不支持 | 不支持 |
是否支持事务的方式删除 | 不支持 | 不支持 | 支持 |
是否触发触发器 | 否 | 否 | 是 |