MySQL 中 Delete 使用

一、关于 MySQL 中 Delete 使用

1.1 Delete 简介

Delete 是 SQL 中用于删除表格中记录的命令。通过使用 Delete 命令,您可以删除表格中的一行或多行记录,并将它们从表格中删除。在执行 Delete 命令时,务必保证所删除的数据符合表格中已有的约束条件,否则可能会引发不可预知的错误。

1.2 Delete 的语法

在 MySQL 中,Delete 命令的基本语法如下:

DELETE FROM table_name WHERE condition;

其中,table_name 表示要删除记录的表格名称,WHERE 关键字可以用于筛选出要删除的记录。Delete 命令还可以使用特殊的语法实现一些高级功能,比如根据另一个表格中的记录进行删除等等。

1.2.1 根据另一个表格中的记录进行删除

在 MySQL 中,可以使用子查询来根据另一个表格中的记录进行删除。以下是一个使用子查询进行删除的例子:假设我们有两个表格 students 和 scores,它们的结构如下:

CREATE TABLE students

( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT NOT NULL );

CREATE TABLE scores ( id INT PRIMARY KEY, student_id INT NOT NULL, score INT NOT NULL );

INSERT INTO students (id, name, age)

VALUES (1, 'Alice', 18), (2, 'Bob', 19), (3, 'Charlie', 20);

INSERT INTO scores (id, student_id, score)

VALUES (1, 1, 80), (2, 2, 90), (3, 3, 70);

现在,我们需要删除年龄小于 20 岁的所有学生及其成绩。可以使用以下 SQL 语句实现:

DELETE FROM students WHERE age < 20 AND id IN ( SELECT student_id FROM scores );

1.2.2 Delete 的例子

以下是一个使用 Delete 命令的简单例子,我们有一个名为 students 的表格,其中包含三个字段:id、name 和 age。现在我们需要删除名为 Alice 的学生的记录。

首先,我们创建这个表格:

CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT NOT NULL );

然后,向这个表格中插入数据:

INSERT INTO students (id, name, age) VALUES (1, 'Alice', 18), (2, 'Bob', 19), (3, 'Charlie', 20);

最后,使用以下 SQL 语句将 Alice 的记录删除:

DELETE FROM students WHERE name = 'Alice';

执行以上 SQL 语句后,可以使用以下 SQL 语句查询所有学生的信息:

SELECT * FROM students;

输出结果如下:

id name age
2 Bob 19
3 Charlie 20

二、总结

本文介绍了 MySQL 中 Delete 命令的基本语法以及一些特殊的用法,包括根据另一个表格中的记录进行删除。通过本文的学习,您应该能够使用 Delete 命令来删除表格中的记录,并根据需要删除它们。总体而言,Delete 命令是 MySQL 中非常常用的一种命令,掌握它对于进行数据删除操作是非常重要的。

猜你喜欢

转载自blog.csdn.net/weixin_65846839/article/details/131041793