DELETE
2023-02-18 15:28:57 时间
如果要删除数据库表中的记录,我们可以使用DELETE
语句。
DELETE
语句的基本语法是:
DELETE FROM <表名> WHERE ...;
例如,我们想删除students
表中id=1
的记录,就需要这么写:
-- 删除id=1的记录
----
DELETE FROM students WHERE id=1;
-- 查询并观察结果:
SELECT * FROM students;
注意到DELETE
语句的WHERE
条件也是用来筛选需要删除的行,因此和UPDATE
类似,DELETE
语句也可以一次删除多条记录:
-- 删除id=5,6,7的记录
----
DELETE FROM students WHERE id>=5 AND id<=7;
-- 查询并观察结果:
SELECT * FROM students;
如果WHERE
条件没有匹配到任何记录,DELETE
语句不会报错,也不会有任何记录被删除。例如:
-- 删除id=999的记录
----
DELETE FROM students WHERE id=999;
-- 查询并观察结果:
SELECT * FROM students;
最后,要特别小心的是,和UPDATE
类似,不带WHERE
条件的DELETE
语句会删除整个表的数据:
DELETE FROM students;
这时,整个表的所有记录都会被删除。所以,在执行DELETE
语句时也要非常小心,最好先用SELECT
语句来测试WHERE
条件是否筛选出了期望的记录集,然后再用DELETE
删除。
MySQL
在使用MySQL这类真正的关系数据库时,DELETE
语句也会返回删除的行数以及WHERE
条件匹配的行数。
例如,分别执行删除id=1
和id=999
的记录:
mysql> DELETE FROM students WHERE id=1;
Query OK, 1 row affected (0.01 sec)
mysql> DELETE FROM students WHERE id=999;
Query OK, 0 rows affected (0.01 sec)
小结
使用DELETE
,我们就可以一次删除表中的一条或多条记录。
相关文章
- 获取postgresql数据字典
- 解密openGauss数据库中的函数依赖关系
- openGauss数据库从3.0.0升级到3.1.0操作实践
- 云原生时代数据库运维体系演进
- 新一代HTAP数据库崛起,MySQL生态的最佳归宿?
- 都说“存算分离”好,分布式数据库为何还要“进一步分离”?
- SQL Server 2012软件安装教程
- 【MySQL数据库】多表关系与多表联合查询
- 数据库主从分离加读写分离操作步骤
- 《程序员数学:斐波那契》—— 为什么不能用斐波那契散列,做数据库路由算法?
- 【PostgreSQL】基于CentOS系统安装PostgreSQL数据库
- 【OceanBase】基于CentOS系统安装OceanBase数据库
- mysql最常用的函数只需一篇文章
- 【docker-compose】一键安装PostgreSQL数据库
- 【MySQL】基于Win10系统安装配置MySQL8.0.28版本的数据库
- 【docker】使用容器安装部署OceanBase社区版数据库
- mysql-connect-confused
- 用SQL语句进行数据库查询(简单查询)
- SQL(及存储过程)跑得太慢怎么办?
- 猿创征文|体验新一代分布式数据库—OceanBase