mysql删除表的sql命令是什么(一文详解SQL删除语句)

 分类:IT知识时间:2022-10-29 07:31:03点击:

讲讲DELETE 删除语句,用来删除表中的一条或多条记录。

基本语法:

DELETEFROM<表名> WHERE<筛选条件>;

1、DELETE语句

如果省略WHERE条件,这时候DELETE就会删除整个表的记录。

注意:这里不是删除表,只是删除表中所有数据,还会保留表结构的。

实例:删除Teachers表中所有记录。

DELETEFROMTeachers;

如果遇到这个错误:

You are using safe updatemodeandyou tried toupdatea tablewithouta WHEREthat uses a KEYcolumn

解决方案:

出现错误是因为Workbench默认开启了Safe Updates功能,不允许随便修改删除记录,我们先关闭该功能。

MySQLWorkbench-Preferences-SQL Editor-将Safe Updates前面的勾去掉。再重启Workbench软件就可以了。

加上WHERE条件,就只会删除符合条件的记录。

实例:删除Students学生表中,生日Sage为1995-06-15的记录。

DELETEFROMStudents WHERESage = "1995-06-15";

如果没有运行界面,可以点击WorkBench的右上角,点击中间的这个图标就可以了。

粘贴下面的语句:

-- 删除数据库DROPdatabaseSchool 
-- 创建数据库CREATEdatabaseSchool; 
-- 选择数据库USESchool; 
-- 创建学生表 Students:CREATETABLEStudents( SidINT, Sname VARCHAR(10), Sage DATETIME, Ssex VARCHAR(10), Tid INT); 
-- 插入语句INSERTINTOStudents VALUES(1, '宁一', '1995-06-15', '女',1), 
    (2, '宁儿', '1995-03-16', '女',1), (3, '宁散', '1995-05-19', '男',1), (4, '凝思', '1995-06-18', '女',1),
    (5, '宁武', '1995-06-15', '男',1), (6, '宁柳', '1994-12-01', '男',1), (7, '柠七', '1999-02-12', '女',2), 
    (8, '凝八', '1999-03-03', '男',2), (9, '柠九', '1999-03-04', '女',2), (10, '宁时', '1999-07-12', '男',2);
-- 创建成绩表 ScoresCREATETABLEScores( SidINT, Cid INT, score DECIMAL(18,1)); 
-- 插入语句INSERTINTOScores VALUES(1, 1, 100),(1, 2, 90), (1, 3, 99), (2, 1, 80), (2, 2, 59), 
   (2, 3, 88), (3, 1, 81), (3, 2, 79), (3, 3, 61), (4, 1, 50), (4, 2, 48), (4, 3, 90), (5, 1, 76), (5, 2, 87),
   (5, 2, 99), (6, 1, 91), (6, 2, 94), (6, 3, 90), (7, 1, 89), (7, 2, 21), (8, 1, 93), (8, 2, 88), (9, 1, 91), 
   (9, 2, 88), (10, 1, 71), (10, 2, 88);
-- 创建科目表 CoursesCREATETABLECourses( Cid INT, Tid INT, Cname VARCHAR(10)); 
-- 插入语句INSERTINTOCourses VALUES(1, 2, '语文'), (2, 1, '数学'), (3, 3, '英语'); 
-- 创建教师表 TeachersCREATETABLETeachers( Tid VARCHAR(10), Tname VARCHAR(10));
-- 插入语句INSERTINTOTeachers VALUES(1, '张三'), (2, '李四'), (3, '王五’);

除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: