MySQL数据表记录删操作

删除操作

作用删除表里的记录行(都是整行整行的删除的**)**

1.单表的删除

语法:

sql 复制代码
delete from 表名 where 要删除的记录筛选条件;

案例:删除员工编号大于203的员工信息

sql 复制代码
delete from employees where employee_id>203;

2.多表的删除

语法:

sql 复制代码
delete 别名1,别名2

from 表1 别名1,表2 别名2

where 连接条件 and 筛选条件;

注意:如果只删表1的就只写别名1,如果两个表的记录都删就别名1,别名2)

sql 复制代码
delete 别名1,别名2
from 表1 别名1
[连接类型] join 表2 别名2
on 连接条件
where 筛选条件;
案例:删除任波涛的年龄信息
delete a from students s
inner join ages a
on s.age_id = a.id
where s.name='任波涛';

3.整表记录全部删除

不能加where条件

sql 复制代码
truncate table 表名;

4.delete和truncate区别

  1. delete可以加where条件
  2. truncate删除的效率高一些
  3. 假如要删除的表上有自增长字段,如果用delete删除,再插入数据,自增长从断点值开始,用truncate删除,再插入数据,从1开始;
  4. truncate删除没有返回值,delete删除有返回值
  5. truncate删除不能回滚,delete删除可以回滚
相关推荐
2501_948195344 小时前
RN for OpenHarmony英雄联盟助手App实战:主导航实现
数据库
Filotimo_5 小时前
N+1查询问题
数据库·oracle
a程序小傲5 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
fenglllle6 小时前
spring-data-jpa saveall慢的原因
数据库·spring·hibernate
DarkAthena7 小时前
【GaussDB】执行索引跳扫时如果遇到该索引正在执行autovacuum,可能会导致数据查询不到
数据库·gaussdb
短剑重铸之日7 小时前
《7天学会Redis》Day 5 - Redis Cluster集群架构
数据库·redis·后端·缓存·架构·cluster
007php0077 小时前
mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
数据库·redis·git·mysql·面试·职场和发展·php
lkbhua莱克瓦247 小时前
进阶-存储过程3-存储函数
java·数据库·sql·mysql·数据库优化·视图
老邓计算机毕设8 小时前
SSM心理健康系统84459(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·心理健康系统·在线咨询