内容正文:
数据库原理与应用技术MySQL
项目7 MySQL数据查询与更新
1
《数据库原理与应用技术-MySQL》
项目七 MySQL数据查询与更新
任务1 单表查询
任务2 连接查询
任务3 嵌套查询
任务4 插入数据
任务5 修改数据
任务6 删除数据
1
《数据库原理与应用技术-MySQL》
任务1 单表查询
子任务1 简单查询
子任务2 条件查询
子任务3 使用ORDER BY查询排序
子任务4 使用GROUP BY子句分组查询
1
《数据库原理与应用技术-MySQL》
子任务1 简单查询
简单查询是按照一定的条件在单个数据表上进行的数据查询。使用SQL语言中的SELECT语句来实现对数据的查询。
认识SELECT语句的基本语法,以实现在数据表中查询数据列、限制返回结果数以及更改查询结果等操作。
SELECT子句的语法格式如下:
SELECT [ALL|DISTINCT] <目标表达式>[,<目标表达式>][,…]
FROM <表或视图名>[,<表或视图名>][,…][LIMIT n1[,n2]];
说明:
1
《数据库原理与应用技术-MySQL》
子任务1 简单查询
(1)ALL指定表示结果集的所有行,包括重复行,ALL是默认选项。
(2)DISTINCT指定在结果集显示唯一行,用于消除重复行,空值被认为相等。ALL与DISTINCT不能同时使用。
(3)LIMIT n1表示返回最前面的n1行数据,n1表示返回的行数。
(4)LIMIT n1,n2表示从n1行开始,返回n2行数据。初始行从0开始。n1、n2必须是非负的整形常量。
(5)目标表达式为结果集要查询的列,它可以是星号(*)、表达式、列表、变量等。其中,星号(*)用于返回表或视图的所有列,列表用“表名.列名”来表示。若只有一个表或多个表中没有相同的列时,表名可以省略。
子任务1 简单查询
【例7-1】查询student表中学生的全部信息。
SELECT * FROM student;
说明:SELECT子句后面可以用星号(*)返回数据表中的所有列。FROM子 句列出要查询的表名,本任务中是student表。执行结果如图所示。
子任务1 简单查询
【例7-2】查询student表中的专业信息。
SELECT Speciality FROM student;
说明:SELECT子句后面列出的是需要查询的列名列表,本任务需要查询学生的专业信息,因此列出Speciality列。执行结果如图所示。
子任务1 简单查询
从返回结果来看,得到的专业信息是重复的,若想返回的信息不重复,可以使用DISTINCT来消除取值重复的行,执行结果如图所示。
子任务1 简单查询
【例7-3】查询course表中的课程名和课时,结果中各列的标题分别指定为课程名和课时。
SELECT Cname AS 课程名,Classhour AS 课时 FROM course;
说明:执行结果如图所示。若希望查询结果中的列显示时使用自己定义的列标题,可以在列名之后使用AS子名,语法格式如下:
SELECT … 列名[AS 列别名]
其中,AS关键字可省略。
子任务1 简单查询
【例7-4】课程信息调整,所有课的课时减半,重新计算课时数,并显示课程名和新课时数。
SELECT Cname AS 课程名,Classhour/2 AS 新课时数 FROM course;
说明:本任务要求结果中课时数减半,因此在SELECT子句中使用Classhour/2表达式。执行结果如图所示。
子任务2 条件查询
在实际应用中,应用程序只需获取满足用户需求的数据,因而在查询数据时通常会指定查询条件,以筛选出用户所需的数据。
使用SELECT语句进行查询时,如果用户希望设置查询条件来限制返回的数据,可以在SELECT语句后面使用WHERE子句来实现。
使用WHERE子句可以给出查询的条件,提高查询的效率。WHERE子句必须紧跟在FROM子句后面。WHERE子句中的表达式可以是比较运算符、字符匹配运算符、区间运算符、是否为空值、逻辑运算符等谓词构成的式子。系统根据真假来决定数据是否满足该查询条件,只有满足查询条件的数据才会出现在结果集中。在SQL中,返回逻辑值的运算符或关键字都可称为谓词。
1
《数据库原理与应用技术-MySQL》
子任务2 条件查询
WHERE子句的语法格式如下:
WHERE<条件表达式>;
条件表达式中可用的谓词如表所示:
查询条件 谓词 含义
比较运算符 > 大于 用于比较两个表达式的值,当两个表达式的值均不为空值(NULL)时,比较运算返回逻辑值TRUE(真)或FALSE(假)
>= 大于等于
< 小于
<= 小于等于
<>或!= 不等于
= 相等
<=> 相等或都等于空
子任务2 条件查询
查询条件 谓词 含义
逻辑运算符 NOT 非 对运算符右边表达式进行“反”操作
AND 与 运算符两边表达式的值均为真,结果才为真,否则为假
OR 或 运算符两边的表达式只要有一个值为真,结果为真
XOR 异或 运算符两边表达式的值不同为真,相同为假
字符匹配 LIKE 指出一个字符串是否与指定的字符串相匹配。可以使用通配符“_”和“%”,其中“_”表示任意一个字符;“%”表示任意多个字符
区间 BETWEEN…AND… 用来判断数据是否在BETWEEN…AND…指定的范围内。其可以用AND短语替换,如“定价BETWEEN 30 AND 50”可以用“定价>=30 AND 定价<=50”
包含 IN( ) 在列表中 如:WHERE 定价 IN(10,20,35),判断定价是否为10、20、35中的一个
NOT IN( ) 不在列表中
空值 IS NULL 空值 判断某字段是否为空值(空值是不确定的内容.NULL.,与0不同)
IS NOT NULL 不为空
子任务2 条件查询
【例7-5】查询teacher表中年龄在40岁以下的全部信息。
SELECT * FROM teacher WHERE Age<=40;
说明:本任务要查找年龄在40岁以下的教师信息,因此在WHERE子句中给出比较表达式Age<=40来限定条件。当teacher表中有Age的值小于等于40时,则比较表达式值为TRUE,执行结果如图所示。
子任务2 条件查询
【例7-6】查询teacher表中刘姓老师的信息。
SELECT * FROM teacher WHERE Teaname LIKE "刘%";
或
SELECT * FROM teacher WHERE LEFT(Teaname,1)= "刘";
子任务2 条件查询
【例7-7】查询score表中,成绩在60~80分之间的学号和成绩信息。
SELECT * FROM score WHERE Grade BETWEEN 60 AND 80;
说明:当score表中有成绩在60分以上,80分以下的学生信息时,则表达式值为TRUE,执行结果如图所示。
子任务2 条件查询
【例7-8】查询score表中成绩尚不定的信息。
SELECT * FROM score WHERE Grade IS NULL;
说明:成绩尚不定的值,即为空值。不确定或未知的值为空值。用IS NULL来表示。因为score表中成绩都不为空,所以执行结果为空集,如图所示。若查询条件为查询已有成绩的信息,则可表示为:Grade IS NOT NULL。
子任务2 条件查询
【例7-9】查询student表中,班主任是杨红或李博的学生信息。
SELECT * FROM student WHERE Classteacher IN ("杨红", "李博");
说明:本任务中,要查询班主任是杨红或李博的学生信息,可以用值列表IN来限定,执行结果如图所示。本任务中的条件表达式也可以表示为Classteacher="杨红" OR Classteacher= "李博"。
子任务3 使用ORDER BY查询排序
使用SELECT语句进行查询时,如果用户希望查询结果能够按照其中的一个或多个列进行排序,可以通过SELECT语句后面使用ORDER BY子句来实现。
ORDER BY子句的语法格式如下:
ORDER BY <列名|表达式|顺序号>[ASC|DESC],…;
说明:
(1)该子句可以根据一个或多个列进行排序,也可以根据表达式进行排序。
(2)可以在列的后面指定ASC(升序)或DESC(降序)。如果没有指定顺序,系统默认使用升序。
(3)如果选择“顺序号”,则排序的列是SELECT顺序号对应输出的相同列。
1
《数据库原理与应用技术-MySQL》
子任务3 使用ORDER BY查询排序
【例7-10】查询teacher表中教师姓名和年龄,结果按年龄升序排列。
SELECT Teaname AS 姓名,Age AS 年龄 FROM teacher ORDER BY Age ASC;
说明:SELECT子句后面列出的是需要查询的列名列表。FROM列出要查询的表名。本任务要求按年龄升序排序,因此给出排序条件ORDER BY Age ASC,也可以写成ORDER BY 年龄 ASC或ORDER BY 2 ASC,执行结果如图所示。
1
《数据库原理与应用技术-MySQL》
子任务3 使用ORDER BY查询排序
【例7-11】查询teacher表内容,先按教学部升序,再按年龄降序排列。
SELECT * FROM teacher ORDER BY Department,Age DESC;
说明:本任务有两个排序项,先按教学部升序排列,当系部相同时,则按年龄降序排列,执行结果如下:
1
《数据库原理与应用技术-MySQL》
子任务4 使用GROUP BY子句分组查询
GROUP BY子句的语法格式如下:
GROUP BY <列名|表达式|顺序号>,…[HAVING<表达式>];
说明:
(1)该子句可以根据一个列或多个列进行分组,并使用聚合函数为查询结果集中的每个分组产生一个汇总值。
(2)在分组结果中应用HAVING<条件>,可以去掉不满足条件的记录。并且HAVING必须跟在GROUP BY之后,不能单独使用。
(3)HAVING条件与WHERE条件不同,WHERE子句作用于数据表或视图,从中选择满足条件的记录;HAVING子句作用于组,选择满足条件的组,子句中可以包含聚合函数。
1
《数据库原理与应用技术-MySQL》
子任务4 使用GROUP BY子句分组查询
聚合函数能够实现对数据表中指定列的值进行计算,并返回单个数值。聚合函数主要应用在GROUP BY子句中,用来对查询结果集进行分组、筛选或统计。
MySQL提供的常用聚合函数如表所示。
函数名 说明 函数名 说明
SUM( ) 返回组中所有值的和 MAX( ) 返回组中的最大值
AVG( ) 返回组中所有值的平均值 MIN( ) 返回组中的最小值
COUNT( ) 返回组中值的个数
1
《数据库原理与应用技术-MySQL》
子任务4 使用GROUP BY子句分组查询
【例7-12】查询student表中学生的总人数。
SELECT COUNT(*) FROM student;
说明:本任务需要查询学生总人数,即student表中的总行数,因此给出表达式COUNT(*),可以用student表中的任意列作为函数的参数,也可以直接用星号(*)表示。执行结果如图所示。
1
《数据库原理与应用技术-MySQL》
子任务4 使用GROUP BY子句分组查询
【例7-13】查询score表中学号为20230101的学生所学课程的最高分。
SELECT MAX(Grade) AS '课程最高分' FROM score WHERE Stuid="20230101";
说明:本任务使用WHERE子句筛选出学号是20230101的所有课程得分,又使用MAX对这些得分进行求最大值,得到学号为20230101的所学课程最高分。执行结果如图所示。
1
《数据库原理与应用技术-MySQL》
子任务4 使用GROUP BY子句分组查询
【例7-14】查询student表中各专业学生人数。
SELECT COUNT(*) AS 学生人数,Speciality FROM student GROUP BY Speciality;
说明:本任务需要统计每个专业的学生人数,即根据专业来进行分组统计人数,因此给出GROUP BY Speciality,执行结果如图所示。
1
《数据库原理与应用技术-MySQL》
子任务4 使用GROUP BY子句分组查询
【例7-15】查询score表中平均成绩在80分以上的学生的学号和平均成绩。
SELECT Stuid AS 学号,AVG(Grade) AS 平均成绩 FROM score GROUP BY Stuid HAVING AVG(Grade)>=80;
说明:本任务需要统计每个学生的平均成绩,即根据学号来进行分组,因此给出GROUP BY Stuid。另外要求平均成绩在80分以上,即在按学号分组后再进行筛选,因此给出HAVING AVG(Grade)>=80。执行结果如图所示。
1
《数据库原理与应用技术-MySQL》
任务2 连接查询
连接查询是关系型数据库中重要的查询类型之一,通过数据表间的相关列,可以追踪各个表之间的逻辑关系,从而实现多表的连接查询。
连接查询由SELECT语句中FROM子句的JOIN关键字来实现,基本语法格式如下:
SELECT 子句
FROM<表名1>[别名1][INNER|LEFT|RIGHT|CROSS] JOIN <表名2>[别名2] ON <连接条件表达式>
[WHERE<条件表达式>];
1
《数据库原理与应用技术-MySQL》
任务2 连接查询
说明:
(1)JOIN是指各类连接操作的关键字,具体见下表。
连接类型 连接关键字 说明
内连接 INNER JOIN 内连接,INNER可省略
左外连接 LEFT JOIN 外连接
右外连接 RIGHT JOIN
交叉连接 CROSS JOIN 交叉连接
1
《数据库原理与应用技术-MySQL》
任务2 连接查询
内连接只返回符合连接条件的记录,不满足条件的记录不会被显示。而在实际应用的连接查询时需要显示某个表的全部记录,即使这些记录并不满足连接条件。
根据外连接引用的方向不同,分为左外连接和右外连接。
左外连接(LEFT JOIN)查询结果集中除了包括满足连接条件的记录外,还包括左表中不满足条件的记录。当左表中不满足条件的记录与右表记录进行组合时,右表相应列的值为NULL。
右外连接(RIGHT JOIN)查询结果集中除了包括满足连接条件的记录外,还包括右表中不满足条件的记录。当右表中不满足条件的记录与左表记录进行组合时,左表相应列的值为NULL。
交叉连接(CROSS JOIN)又称笛卡尔连接,是指两个表之间做笛卡尔积操作,得到结果集的行数是两个表的行数的乘积。交叉连接一般没有意义。
1
《数据库原理与应用技术-MySQL》
任务2 连接查询
(2)连接条件是指在连接查询中连接两个表的条件。连接条件 表达式的一般格式如下:
[<表名1>]<别名1.列名><比较运算符> [<表名2>]<别名2.列名>
(3)FROM子名后面可以跟多个数据的表名,表名与别名之间用空格隔开,若不定义别名,表的表名默认为别名。
(4)若在SELECT子句中的输出列或条件表达式中出现两个表的公共列,则在公共列名前必须加表名或表的别名,如student.Stuid或S.Stuname。
1
《数据库原理与应用技术-MySQL》
任务2 连接查询
(5)内连接也可以采用以下命令格式:
SELECT子句
FROM<表名1>[别名1],<表名2>[别名2][,…]
WHERE<连接条件表达式>[AND<条件表达式>];
这种格式的连接条件在WHERE子句中指定,连接条件为两个表的公共列相等。这种连接条件简单明了,但有时会影响查询性能;而JOIN语法是ANSI SQL的标准规范,能够确保不会忘记连接条件。
1
《数据库原理与应用技术-MySQL》
任务2 连接查询
【例7-16】查询所有学生的学号、姓名、课程号及成绩信息。
SELECT student.Stuid,Stuname,Cno,Grade FROM student INNER JOIN score ON student.Stuid=score.Stuid ;
说明:学号和姓名数据来自表student,课程号和成绩数据来自表score。同时查询学号、姓名、课程号及成绩信息,前面的方法已不能实现,因此通过内连接查询方法实现。表student和表score存在有关联的列,即共有列Stuid,通过该列可以把这两个表连接起来。执行结果如图所示。
1
《数据库原理与应用技术-MySQL》
任务2 连接查询
或者也可以用以下语句实现,结果相同。
SELECT student.Stuid,Stuname,Cno,Grade FROM student,score
WHERE student.Stuid=score.Stuid;
1
《数据库原理与应用技术-MySQL》
任务2 连接查询
【例7-17】查询所有学生的学号、姓名、课程号及成绩信息,如果学生未选修任何课程,也要包括其基本信息。
SELECT student.Stuid,Stuname,Cno,Grade FROM student LEFT JOIN score ON student.Stuid=score.Stuid ;
说明:本任务中要保留student表中的所有学生信息,不管是否选课,表student写在JOIN关键字的左边,因此使用左外连接查询。
1
《数据库原理与应用技术-MySQL》
任务3 嵌套查询
嵌套查询又称为子查询或内部查询,它也是一个SELECT语句,它可以嵌套在一个SELECT语句的WHERE子句中。
包含子查询的语句可称为父查询、主查询或外部查询。一般情况下嵌套查询亦可以用多表查询的方式查询。
嵌套查询可以把一个复杂的查询分解成一系列的逻辑步骤,通过使用单个查询命令来解决复杂的查询问题。
1
《数据库原理与应用技术-MySQL》
任务3 嵌套查询
子查询的执行过程可以描述为:首先执行子查询中的语句,并将返回的结果作为外层查询的过滤条件,然后再执行外层查询。
在子查询中通常要使用比较运算符及IN、ANY和EXISTS等运算符。
子查询的分类
(1)比较运算符子查询,语法格式:
<列名><比较运算符><子查询>
当能确切知道子查询返回的是单值时,可以用>、<、=、>=、<=、!=或<>等比较运算符。
1
《数据库原理与应用技术-MySQL》
任务3 嵌套查询
(2)IN子查询,语法格式:
<列名>[NOT] IN(子查询)
通过IN(或NOT IN)引入的子查询结果是一个列值,而不是一个单一的值。
(3)EXISTS子查询,语法格式:
[NOT]EXISTS(子查询)
EXISTS用于测试子查询的结果是否为空,若结果不为空则返回TRUE,否则返回FALSE。由于EXISTS子查询只返回逻辑值,因此由它引出的子查询中给出的列名列表没有实际意义,一般用星号(*)表示。
1
《数据库原理与应用技术-MySQL》
任务3 嵌套查询
(4)ANY或ALL子查询,语法格式:
<列名><比较运算符>[ANY|ALL]<子查询>
子查询返回单一值时,可以用带比较运算符的子查询,但返回多个值时,可以用ANY或ALL子查询。ANY表示父查询与子查询结果中的某个值进行比较运算;ALL表示父查询与子查询结果中的所有值进行比较运算。
1
《数据库原理与应用技术-MySQL》
任务3 嵌套查询
【例7-18】查询陈鑫同学的各科成绩。
SELECT Grade FROM score WHERE Stuid IN (SELECT Stuid FROM student WHERE Stuname="陈鑫");
说明:student表中只有学生姓名,没有成绩。Score表只有成绩,没有学生姓名。两个表有公共字段为学号。先在student表中查询出陈鑫同学的学号,再去score表中查询此学号同学的成绩。执行结果如图所示。
1
《数据库原理与应用技术-MySQL》
任务4 插入数据
在MySQL数据库中,INSERT语句可以实现数据记录的添加。它有三种语法格式,分别是INSERT…VALUES语句、INSERT…SELECT语句、INSERT …SET语句。其中,INSERT…VALUES语句是最常用的插入语句。
使用INSERT…VALUES语句可以一次性向表中插入一条或多条新记录,语法格式如下:
INSERT INTO 表名 (字段名1,字段名2,…,字段名N)
VALUES (表达式1,表达式2,…,表达式N),
…
VALUES (表达式1,表达式2,…,表达式N);
1
《数据库原理与应用技术-MySQL》
任务4 插入数据
说明:
(1)此命令用于向表中插入记录。其中表达式1的值赋予字段名1,表达式2的值赋予字段名2,以此类推,若字段名缺省,则表达式的值将依次赋予表中各字段,各表达式的值要与各字段的字段类型一致且个数相同。
(2)该语句可以一次插入一条新记录,也可以插入多条新记录,仅仅是在VALUES后面增加每条新记录的字段对应值,每条新记录之间用逗号隔开。
(3)在实际应用中,插入批量数据时,不建议采用多条INSERT INTO语句每次插入一条记录,最好使用一条INSERT…VALUES语句来一次插入多条新记录。这样可以避免程序和数据库之间建立多次连接,从而达到降低服务器负荷的目的。
1
《数据库原理与应用技术-MySQL》
任务4 插入数据
INSERT…SET语句的语法格式为:
INSERT INTO 表名 SET 列名1=列值1,列名2=列值2,…;
通过INSERT…SET语句插入新记录清晰明了,容易查错。但是使用INSERT…SET语句插入记录时,不能一次性批量插入多条新记录。
1
《数据库原理与应用技术-MySQL》
任务4 插入数据
使用INSERT …SELECT语句插入结果集。INSERT …SELECT语句可以从一个表复制信息到另一个表。使用INSERT…SELECT语句首先从一个表Table1复制需要的数据,然后把这些数据插入一个已存在的目标表Table2中,在插入过程中,不会影响目标表Table2中任何已存在的行,语法格式为:
INSERT INTO Table2(field1,field2,…)
SELECT value1,value2,…
FROM Table1 WHERE <条件表达式>;
1
《数据库原理与应用技术-MySQL》
任务4 插入数据
【例7-19】在teacher表中插入一条新记录,记录内容为:工号为2004,姓名为张欣,性别为女,年龄为28,专业是汉语言文学。
INSERT INTO teacher(Teaid,Teaname,Teasex,Age,Department) VALUES ("2004","张欣","女",28,"汉语言文学");
说明:本任务使用INSERT…VALUES语句向数据表中插入一条记录,该记录中包含了所有字段值时,可以不指定要插入数据的字段名,只需要提供被插入的值即可。本任务也可以使用以下语句实现:
INSERT INTO teacher VALUES ("2004","张欣","女",28,"汉语言文学");
执行结果相同,teacher表末尾增加一条新记录。
1
《数据库原理与应用技术-MySQL》
任务4 插入数据
【例7-20】在teacher表中插入两条新记录,记录内容如表所示。
INSERT INTO teacher(Teaid,Teaname,Teasex) VALUES ("2005","贾德江","男"),("2006","刘明东","男");
说明:本任务中,新记录只有部分值,所以字段名不能省略,要明确写出。没有指出年龄和专业,命令中的字段名可以省略Age和Department字段。一次插入多条新记录,只需要在VALUES后面增加字段对应值,中间用逗号隔开。
Teaid Teaname Teasex
2005 贾德江 男
2006 刘明东 男
1
《数据库原理与应用技术-MySQL》
任务4 插入数据
【例7-21】采用复制现有表结构的方式,创建表text_teacher,将teacher表中,所有30岁以下教师的工号和姓名、年龄复制到表text_teacher中。
INSERT INTO text_teacher(TeaID,Teaname,Age)
SELECT TeaID,Teaname,Age FROM teacher WHERE Age<30;
说明:先使用以下命令创建表text_teacher。再插入记录,执行结果如图所示。
CREATE TABLE IF NOT EXISTS text_teacher (LIKE teacher);
1
《数据库原理与应用技术-MySQL》
任务5 修改数据
在MySQL数据库中,UPDATE语句修改数据表中的数据,可以修改一行或多行数据。
UPDATE语法格式如下:
UPDATE 表名 SET 字段1=值1[,字段2=值2…] [WHERE 条件表达式];
说明:
(1)SET子句指示要修改哪些字段以及这些字段相应的字段值。
(2)WHERE子句指定应更新哪些行。若缺省WHERE子句,则更新所有行。
1
《数据库原理与应用技术-MySQL》
任务5 修改数据
在MySQL数据库中,UPDATE语句修改数据表中的数据,可以修改一行或多行数据。
UPDATE语法格式如下:
UPDATE 表名 SET 字段1=值1[,字段2=值2…] [WHERE 条件表达式]
说明:
(1)SET子句指示要修改哪些字段以及这些字段相应的字段值。
(2)WHERE子句指定应更新哪些行。若缺省WHERE子句,则更新所有行。
1
《数据库原理与应用技术-MySQL》
任务5 修改数据
【例7-22】修改student表中,陈秀珍的专业为电工电子。
UPDATE student SET Speciality="电工电子" WHERE Stuname="陈秀珍";
【例7-23】更新course表中,所有的课时减半,课程号内容清除。
UPDATE course SET Classhour=Classhour/2,Cno="";
说明:执行结果如图所示。
1
《数据库原理与应用技术-MySQL》
任务6 删除数据
在MySQL中,有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE…TABLE语句。
DELETE语法格式如下:
DELETE FROM 表名[WHERE 条件表达式];
说明:
(1)如果没有指定WHERE子句,MySQL表中的所有记录将被删除。
(2)可以在单个表中一次性删除记录。
1
《数据库原理与应用技术-MySQL》
任务6 删除数据
TRUNCATE…TABLE语句格式如下:
TRUNCATE [TABLE] 表名;
说明:
该语句用于删除表中的所有记录,不能与WHERE子句一起使用。
DELETE语句可以通过WHERE子句对要删除的记录进行选择。而使用TRUNCATE…TABLE语句将删除表中的所有记录。因此,在使用时DELETE语句更灵活。
DELETE语句,每删除一条记录,都会在日志中记录,而使用TRUNCATE…TABLE语句,不会在日志中记录删除的内容,因此,TRUNCATE…TABLE语句的执行效率比DELETE语句高。
1
《数据库原理与应用技术-MySQL》
任务6 删除数据
【例7-24】删除teacher表中,工号为2005和2006的记录。
DELETE FROM teacher WHERE Teaid="2005" OR Teaid="2006";
说明:执行结果如图所示。由结果看出,两条记录已删除。
【例7-25】删除TEXT_teacher表中的全部记录。
DELETE FROM TEXT_teacher;
说明:使用以下语句查看表中数据。text_teacher表记录已经被删除,此时text_teacher表是一个空表。
SELECT * FROM text_teacher;
1
《数据库原理与应用技术-MySQL》
$$