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删除可以回滚
相关推荐
秋野酱1 小时前
如何在 Spring Boot 中实现自定义属性
java·数据库·spring boot
weisian1512 小时前
Mysql--实战篇--@Transactional失效场景及避免策略(@Transactional实现原理,失效场景,内部调用问题等)
数据库·mysql
AI航海家(Ethan)2 小时前
PostgreSQL数据库的运行机制和架构体系
数据库·postgresql·架构
Kendra9195 小时前
数据库(MySQL)
数据库·mysql
时光书签6 小时前
Mongodb副本集群为什么选择3个节点不选择4个节点
数据库·mongodb·nosql
人才程序员7 小时前
【C++拓展】vs2022使用SQlite3
c语言·开发语言·数据库·c++·qt·ui·sqlite
极客先躯7 小时前
高级java每日一道面试题-2025年01月23日-数据库篇-主键与索引有什么区别 ?
java·数据库·java高级·高级面试题·选择合适的主键·谨慎创建索引·定期评估索引的有效性
指尖下的技术8 小时前
Mysql面试题----MyISAM和InnoDB的区别
数据库·mysql
永远是我的最爱8 小时前
数据库SQLite和SCADA DIAView应用教程
数据库·sqlite
指尖下的技术9 小时前
Mysql面试题----为什么B+树比B树更适合实现数据库索引
数据结构·数据库·b树·mysql