【MySQL和数据库】MySQL & database 第四章:DML学习(主要是对记录的增删改)

MySQL和数据库系列文章目录

【MySQL和数据库】MySQL & database 第一章:数据库的安装与卸载
【MySQL和数据库】MySQL & database 第二章:数据库与MySQL的基本概述
【MySQL和数据库】MySQL & database 第三章:DQL学习(主要是记录的查询)
【MySQL和数据库】MySQL & database 第四章:DML学习(主要是对记录的增删改)
【MySQL和数据库】MySQL & database 第五章:DDL学习(主要是对库、表、字段的增删改)
【MySQL和数据库】MySQL & database 第六章:TCL学习(主要是针对事务的控制)
【MySQL和数据库】MySQL & database 第七章:视图的学习
【MySQL和数据库】MySQL & database 第八章:MySQL中的变量
【MySQL和数据库】MySQL & database 第九章:存储过程的学习
【MySQL和数据库】MySQL & database 第十章:函数的学习
【MySQL和数据库】MySQL & database 第十一章:流程控制结构



插入

  • 语法:

    insert into 表名(列名1...value (值1...);
    
  • 特点:

    • 插入的值的类型要与列的类型一致或兼容;
    • 可以为空的字段,可以不用选择列名作为插入值,或者用 null 填充;
    • 不可以为空的字段,必须作为插入值;
    • 列的顺序可以调换,但是列数和值的个数必须一致,且位置一致;
    • 可以不写插入的列名,默认插入所有列,而且列的顺序与表中字段的顺序一致;
  • 第二种语法:

    insert into 表名
    set 字段名1 = 插入值1, 字段名2 = 插入值2...
  • 两种语法的区别

    • value 语法可以支持一次插入多行,set 语法不支持;

      #例子
      insert into 表名(字段1, 字段2value (值a1, 值a2), (值b1,值b2);
      
    • value 语法支持子查询,set 语法不支持;

      #例子
      insert into 表名(字段1,字段2valueselect 字段a, 字段b
      	from 表名b
      	);
      

修改

  • 修改单表的语法:

    update 表名                           #Ⅰ
    set 字段1 = 新值1, 字段2 = 新值2       #Ⅲ
    where 筛选条件;                       #Ⅱ
    
  • 修改多表的语法:

    #sql92语法
    update1 别名1, 表2 别名2
    set 字段 = 新值,...
    where 连接条件
    and 筛选条件;
    
    #sql99语法
    update1 别名1
    连接类型 join2 别名2
    on 连接条件
    set 字段 = 新值
    where 筛选条件;
    

删除

  • 方式一:delete

  • 语法:

    #单表的删除
    delete from 表名 where 筛选条件;
    
    #多表的删除
    delete 别名1, 别名2
    from 表名1 别名1
    连接类型 join 表名2 别名2
    on 连接条件
    where 筛选条件;
    
  • 特点:

    • 单表删除中,不能给表名起别名;
    • 多表删除中,delete 后面如果两个表的别名都在,则会删除两个表的对应记录,
      如果只有一个别名,则只会删除对应表的对应记录;
  • 方式二:truncate

  • 语法:

    truncate table 表名;
    
  • 特点:

    • 清空所有记录;
  • 区别:

    • delete 可以加 where 条件,truncate 不能加;
    • 假如要删除的表中有自增长列,
      如果用 delete 删除后,再插入数据,自增长列的值从断点开始,
      而 truncate 删除后,再插入数据,自增长列的值从1开始;
    • truncate 删除没有返回值,delete 删除有返回值;
    • truncate 删除不能回滚,delete 删除可以回滚;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值