DML插入,修改,删除

文章目录

      • 插入语句
      • 方式一
      • 方式二
      • 两种方式的比较
      • 修改语句
      • 修改多表的记录
      • 删除语句
        • 单表的删除
        • 多表的删除

插入语句

方式一

语法:

insert into 表名(列名 ,) values(值1,)

插入的字段的方法:

  1. 列名全写,没有值的设置为null
  2. 为空的列名不写,也不用赋值为null
  3. 列的顺序可以颠倒,列赋值要相同
  4. 列的个数和值的个数必须一致
  5. 省略列名,默认是所有列,而且列的顺序和表中列的顺序一致

方式二

语法:

insert into 表名 set 列名=值,列名=值,

两种方式的比较

方式一:支持插入多行,方式二不支持

方式二:支持子查询,方式二不支持

insert into beauty(id,name,phone)

select 26,‘宋宋’,‘186186’

修改语句

语法

update 表名①

set 列=新值,列=新值③

where 筛选条件②

案例一:修改beauty表中姓唐的女神电话为12121

UPDATE beauty SET phone=‘1523’
WHERE name LIKE ‘唐%’

修改多表的记录

案例1: 修改张无忌的女朋友的手机号为114

UPDATE boys bo
INNER JOIN beauty b ON bo.id=b.boyfriend_id
SET b.phone=114
WHERE bo.boyName=‘张不帅’

删除语句

方式一:delete

单表的删除

语法

delete from 表名 where 筛选条件

多表的删除

truncate关键字:删除表中所有数据

语法

truncate table 表名;

多表的删除

案例一:删除黄的信息以及他女朋友的信息

DELETE b
FROM beauty b
INNER JOIN boys bo ON b.boyfriend_id=bo.id
WHERE bo.boyName=“黄”

特点:

①delete 可以加where条件,truncate不能加

②truncate删除,效率高一点

③假如要删除表中的自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始

而truncate删除后,再插入数据,自增长列的值从1开始

④truncate删除没有返回值,delete删除可以回滚

⑤truncate删除不能回滚,delete删除可以回滚

你可能感兴趣的:(Mysql)