DML语言-insert、update、delete操作

数字操作语言:

插入:insert

修改:update

删除:delete

  • 插入语句

方式一:

语法:

    Insert into 表名(列名, ...)values(值1, ...);

    1.插入的值的类型要与列的类型一致或兼容

      例:insert into girl(id, name, age)

             values(13, ‘小刘’, 20);

    2.为null的列如何插入值:①列名写上插入的值填null ②列名和值均省略不写

      例:insert into girl(id, name, age, number)

             values(13, ‘小刘’, 20, null);

    3.字段的个数和顺序不一定与原始表中的字段个数和顺序一致,但必须保证值和字段一一对应

      例:insert into girl(name, id, age)

             values(‘小刘’, 13, 20);

    4.列数和值的个数必须一致

    5.可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致

      例:insert into girl

             values(13, ‘小刘’, 20);

方式二:

语法:insert into 表名

           set 列名=值, 列名=值...

  例:insert into girl

         set id=13, name=’小刘’;

两种方式对比:

  1. 方式一支持插入多行,方式二不支持
  2. 方式一支持子查询,方式二不支持

  • 修改语句

1.修改单表记录

    语法:update 表名 set 字段=值,字段=值 【where 筛选条件】;

例:修改girl表中姓刘的女生年龄为18

    update girl set age=18

    where name like ‘刘%’;

2.修改多表记录

    update 表1 别名,表2 别名

    (或 update 表1 别名 inner|left|right join 表2 别名 on 连接条件)

    set 列=值,...      

    where 连接条件

    and 筛选条件;

  • 删除语句

方式一:delete

1、单表删除

语法:

    delete from 表名 where 筛选条件

例:删除手机号以9结尾的女生信息

    delete from girl where phone like ‘%9’;

2、多表删除(级联删除)

语法:delete 别名(表1 别名,表2 别名)

           from 表1 别名

           inner|left|right join表2 别名

           on 连接条件

           where筛选条件;

例:删除张无忌女朋友的信息

    delete b

    from beauty b

    inner join boys bo on b.’boyfriend_id’ = bo.’id’

    where bo.’boyname’ = ‘张无忌’;

方式二:truncate

    语法:truncate table 表名;

例:将年龄大于30的男生信息删除

    truncate table boys; (清空)

两种方式对比:

    1、delete可以加where条件,truncate不能加

    2、truncate删除,效率比delete高

    3、假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,而truncate删除后,再插入数据,自增长列的值从1开始。

    4、truncate没有返回值,delete可以返回受影响的行数

    5、truncate不可以回滚,delete可以回滚

    6、truncate删除表中的内容,不删除表结构,释放空间;delete删除内容,不删除表结构,但不释放空间;drop删除整个表(结构和数据)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值