📅  最后修改于: 2023-12-03 15:22:02.353000             🧑  作者: Mango
在关系型数据库中,表间往往存在引用关系,这时候我们需要在从表中删除记录。在 SQL 中,我们可以使用 DELETE
语句来删除表中的记录。下面是删除从表中记录的方法。
DELETE FROM table_name WHERE <condition>;
其中,table_name
为需要删除记录的表名,<condition>
为删除记录的条件,包括复合条件。如果没有指定删除条件,则会删除表中的所有记录。
以学生信息表和选课信息表为例。
-- 学生信息表
CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
age INT NOT NULL,
gender CHAR(1) NOT NULL
);
-- 选课信息表
CREATE TABLE course (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
student_id INT NOT NULL,
FOREIGN KEY (student_id) REFERENCES student (id)
);
-- 添加示例数据
INSERT INTO student (name, age, gender) VALUES
("Tom", 20, "M"),
("Jane", 19, "F");
INSERT INTO course (name, student_id) VALUES
("Math", 1),
("English", 2),
("Sociology", 2);
现在我们要删除 Jane 的选课信息,即从 course
表中删除 student_id = 2
的记录。
DELETE FROM course WHERE student_id = 2;