0
点赞
收藏
分享

微信扫一扫

MySQL——DML语言

圣杰 2022-02-14 阅读 53

插入语句(insert)

方式一

语法:

insert into 表名(列名1,...)
values(值1,...);
  • 插入的值类型要与列兼容
  • 列和值的个数必须一致
  • 可以省略列名,此时默认所有列

方式二

语法:

insert into 表名
set 列名1=值1, 列名2=值2, ...;

两种方式比较:

  1. 方式一支持插入多行,方式二不支持
insert into 表名(列1,...)
values(值1, ...),
values(值2, ...),
values(值3, ...);
  1. 方式一支持子查询,方式二不支持
insert into 表名(列1,...)
查询语句;

修改语句(update)

修改单表记录

语法:

update 表名
set 列1=新值1, 列2=新值2, ...
where 筛选条件

修改多表记录

语法:

#sql92语法
update 表1 别名, 表2 别名
set 列=值,...
where 连接条件
and 筛选条件;

#sql99语法
update 表1 别名
jointype join 表2 别名
on 连接条件
set 列=值, ...
where 筛选条件

删除语句(delete)

方式一

该方式能删除多条记录
语法:

#单表删除
delete from 表名 where 筛选条件

#多表删除(92类似地)
delete 表1的别名, 表2的别名
from 表1 别名
jointype join 表2 别名 on 连接条件
where 筛选条件;
(要删除哪个表的记录delete后面就加哪个别名)

方式二

该方式可以删除一整个表
语法:

truncate table 表名

方式比较:

  1. delete可以加where条件,truncate不可以
  2. 若要删除的表中有自增长列(比如有的表的字段id):delete删除后再插入数据,自增长列的值从断点开始;truncate则是从1开始。(truncate可以理解为删除旧表创建了新表,delete则是在旧表的基础上做加减)
  3. truncate删除没有返回值;delete删除有返回值
  4. truncate删除可以回滚,delete不可以
举报

相关推荐

0 条评论