项目7 MySQL数据查询与更新(课件)-《数据库MYSQL》同步教学(河北科技出版社)

2024-11-19
| 53页
| 177人阅读
| 4人下载
特供

内容正文:

数据库原理与应用技术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》 $$

资源预览图

项目7 MySQL数据查询与更新(课件)-《数据库MYSQL》同步教学(河北科技出版社)
1
项目7 MySQL数据查询与更新(课件)-《数据库MYSQL》同步教学(河北科技出版社)
2
项目7 MySQL数据查询与更新(课件)-《数据库MYSQL》同步教学(河北科技出版社)
3
项目7 MySQL数据查询与更新(课件)-《数据库MYSQL》同步教学(河北科技出版社)
4
项目7 MySQL数据查询与更新(课件)-《数据库MYSQL》同步教学(河北科技出版社)
5
项目7 MySQL数据查询与更新(课件)-《数据库MYSQL》同步教学(河北科技出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。