“删除数据库元组”本质上就是使用 SQL 的 DELETE 语句 删除表中的一行(或多行)数据。下面按常见场景说明。
DELETE FROM 表名
WHERE 条件;
⚠️ 强烈提醒:
如果 省略 WHERE 条件,会删除整张表的所有数据!
DELETE FROM student
WHERE id = 1001;
删除 student 表中 id = 1001 的那一条记录。
DELETE FROM student
WHERE age < 18;
删除所有年龄小于 18 的学生。
DELETE FROM student;
只删数据,不删表。
如果想清空表且更快,可用(部分数据库支持):
TRUNCATE TABLE student;
DELETE FROM orders
WHERE user_id IN (
SELECT id FROM user WHERE status = 'inactive'
);
DELETE o
FROM orders o
JOIN user u ON o.user_id = u.id
WHERE u.status = 'inactive';
SELECT * FROM student WHERE id = 1001;
确认无误后再执行 DELETE。
BEGIN;
DELETE FROM student WHERE id = 1001;
-- 确认无误
COMMIT;
-- 出错可 ROLLBACK;
| 数据库 | 说明 |
|---|---|
| MySQL | 支持 LIMIT:DELETE ... LIMIT 1 |
| PostgreSQL | 支持 USING 多表删除 |
| Oracle | 不支持 LIMIT,用子查询控制 |
如果你能告诉我:
我可以给你写精确可用的 SQL。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。