零基础自学SQL课程 | DELETE 删除语句

简介: 今天是SQL课程的第十课。讲讲DELETE 删除语句,用来删除表中的一条或多条记录。基本语法:

今天是SQL课程的第十课。


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


基本语法:


DELETE FROM <表名> WHERE <筛选条件>;

1、DELETE语句


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


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


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


DELETE FROM Teachers;

如果遇到这个错误:


You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column


解决方案:


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


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


image.png


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


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


DELETE FROM Students
WHERE Sage = "1995-06-15";


可以看到最下面的运行结果,显示2条被删除了。


image.png


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


image.png


2、恢复数据库


粘贴下面的语句:


-- 删除数据库
DROP database School
-- 创建数据库
CREATE database School;
-- 选择数据库
USE School;
-- 创建学生表 Students:
CREATE TABLE Students(
Sid INT ,
Sname VARCHAR(10),
Sage DATETIME,
Ssex VARCHAR(10),
Tid INT);
-- 插入语句
INSERT INTO Students 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);
-- 创建成绩表 Scores
CREATE TABLE Scores(
Sid INT,
Cid INT,
score DECIMAL(18,1));
-- 插入语句
INSERT INTO Scores 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);
-- 创建科目表 Courses
CREATE TABLE Courses(
Cid INT,
Tid INT,
Cname VARCHAR(10));
-- 插入语句
INSERT INTO Courses VALUES
(1, 2, '语文'),
(2, 1, '数学'),
(3, 3, '英语');
-- 创建教师表 Teachers
CREATE TABLE Teachers(
Tid VARCHAR(10),
Tname VARCHAR(10));
-- 插入语句
INSERT INTO Teachers VALUES
(1, '张三'),
(2, '李四'),
(3, '王五’);


下节课我们开始第三章的学习,多表连接、聚合函数、窗口函数、子查询、基本函数。

目录
相关文章
|
16天前
|
SQL 存储 关系型数据库
SQL自学笔记(3):SQL里的DCL,DQL都代表什么?
本文介绍了SQL的基础语言类型(DDL、DML、DCL、DQL),并详细说明了如何创建用户和表格,最后推荐了几款适合初学者的免费SQL实践平台。
69 3
SQL自学笔记(3):SQL里的DCL,DQL都代表什么?
|
17天前
|
SQL 数据挖掘 数据库
SQL自学笔记(2):如何用SQL做简单的检索
本文深入介绍了SQL的基本语法,包括数据查询、过滤、排序、分组及表连接等操作,并通过实际案例展示了SQL在用户研究中的应用,如用户行为分析、用户细分、用户留存分析及满意度调查数据分析。
28 0
SQL自学笔记(2):如何用SQL做简单的检索
|
17天前
|
SQL 数据挖掘 关系型数据库
SQL自学笔记(1):什么是SQL?有什么用?
本文为用户研究新手介绍SQL(结构化查询语言),解释了SQL的基本概念、入门方法及在用户研究中的应用通过实际案例说明,如用户行为分析、用户细分和满意度调查数据分析,展示了SQL在用户研究中的重要作用。
42 0
SQL自学笔记(1):什么是SQL?有什么用?
|
3月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
67 1
|
4月前
|
SQL 安全 关系型数据库
关系型数据库SQL server DELETE 语句
【8月更文挑战第3天】
117 10
|
5月前
|
SQL 索引
SQL DELETE 实例
【7月更文挑战第12天】SQL DELETE 实例。
50 12
|
5月前
|
SQL 数据库
SQL DELETE 语句
【7月更文挑战第12天】SQL DELETE 语句。
63 10
|
5月前
|
SQL 索引
SQL DELETE 实例
【7月更文挑战第13天】SQL DELETE 实例。
51 6
|
5月前
|
SQL 数据库
SQL DELETE 语句
【7月更文挑战第13天】SQL DELETE 语句。
46 5
|
7月前
|
SQL 数据挖掘 HIVE
【Hive SQL 每日一题】在线课程学生行为数据分析
该数据分析师任务是分析在线学习平台的学生行为,以优化课程内容和学习体验。提供的数据包括`students`表(含学生ID、姓名、年龄和性别)和`course_activity`表(含活动ID、学生ID、课程ID、活动日期和学习时长)。分析涉及:1) 学生参加的课程数量,2) 课程总学习时长,3) 按性别分组的平均学习时长,4) 学生首次参加的课程及日期,5) 学生最近一次学习的时长,以及6) 参与学生最多的课程。所有查询都使用了SQL,部分涉及窗口函数和分组统计。数据集可在给定链接下载。
80 2
下一篇
DataWorks