【MySQL数据库】DML语言,增删改

DML语言

数据操纵语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作。

一、插入

常用语法
# 单行插入
insert into 表名(字段名,...)
values(1...);
# 多行插入  插入3行
insert into 表名(字段名,...)
values(1...),(2...),(3...);
# 查询插入
insert into(id,name,phone)
select 26,'宋茜','11111111';
通过set插入值
insert into beauty
set id=19,name='刘涛',phone='999';

特点:

1、字段类型和值类型一致或兼容,而且一一对应
2、可以为空的字段,可以不用插入值,或用null填充
3、不可以为空的字段,必须插入值
4、字段个数和值的个数必须一致
5、字段可以省略,但默认所有字段,并且顺序和表中的存储顺序一致

二、修改

修改单表语法
update 表名 set 字段=新值,字段=新值
【where 条件】
修改多表语法
update1 别名1,2 别名2
set 字段=新值,字段=新值
where 连接条件
and 筛选条件
sql99 连接+修改 语法
# 1、修改张无忌的女朋友的手机号为114
update boys bo
inner join beauty b on bo.id=b.boyfriend_id
set b.phone='114'
where bo.boyName='张无忌'

# 2、修改没有男朋友的女神的男朋友编号都为2
update boys bo
right join beauty b on bo.id=b.boyfriend_id
set b.boyfriend_id=2
where bo.id is null;

三、删除

方式1:delete语句

单表的删除: ★

delete from 表名 【where 筛选条件】

多表的删除:

delete 别名1,别名2
from1 别名1,表2 别名2
# 也可以用inner join内连接
where 连接条件
and 筛选条件;
方式2:truncate语句

直接操作磁盘,不经过事务!

truncate table boys; # 一删全删,在清空表的时候效率比较高
truncate table 表名

delete和truncate两种方式的区别【面试题】

#1.truncate不能加where条件,而delete可以加where条件

#2.truncate的效率高一丢丢

#3.truncate 删除带自增长的数据后,如果再插入数据,数据从1开始
# delete 删除带自增长的数据后,如果再插入数据,数据从上一次的断点处开始

#4.truncate删除不能回滚,delete删除可以回滚

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值