内容正文:
7.3 MySQL数据查询与更新
---插入、更新和删除数据
数据库原理与应用技术--MySQL
同步精品课堂
河北科学技术出版社
教学目标
一
掌握插入数据的命令
教学目标
掌握插入、更新和删除命令的应用
掌握删除数据的命令
掌握更新数据的命令
掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。
教学重难点
二
教学难点
1、插入命令
2、更新命令
3、删除命令
教学重点
连接查询和嵌套查询的应用
教学难点
导入新课
三
讨论:
查询操作可以查询到我们所需要的数据,那么我们如何向表中插入数据?更新数据?删除数据?
任务一
1
插入数据
新知讲授
四
⊙插入数据
插入语句有三种格式,分别是INSERT....VALUES语句、INSERT....SELECT语句、INSERT...SET语句。其中INSERT....VALUES语句是最常用的插入语句。
➽ 插入数据概述
➽ 1、INSERT....VALUES语句
基本语法形式如下:
INSERT INTO 表名(字段名1,字段名2,.....,字段名N)
VALUES(表达式1,表达式2,.....,表达式N),
.....
VALUES(表达式1,表达式2,.....,表达式N);
新知讲授
四
⊙插入数据
➽ 实例1:向book表中插入两行数据。
MySQL语句如下:
INSERT INTO book(Bookid,Bookname) VALUES("X002","计算机网络基础2"),("J001","秒懂AI提问2");
新知讲授
四
⊙插入数据
➽ 2、INSERT ....SET命令
基本语法形式如下:
INSERT INTO 表名 SET 列名1=列值1,列名2=列值2,......;
说明:
通过INSERT ....SET语句插入新记录清新明了,容易查错。但是使用INSERT ....SET语句插入记录时,不能一次性批量插入多条新记录。
新知讲授
四
⊙插入数据
➽ 实例1:向reader表中插入两行数据。
MySQL语句如下:
INSERT INTO reader SET Rid="010902",Name="赵红";
INSERT INTO reader SET Rid="010903",Name="李飞";
新知讲授
四
⊙插入数据
➽ 3、INSERT ....SELECT命令
基本语法形式如下:
INSERT INTO Table2(field1, field2,....)
SELECT value1,value2,....
FROM Table1 WHERE <条件表达式>
说明:
INSERT ....SELECT语句可以从一个表复制信息到另一个表。
新知讲授
四
⊙插入数据
➽ 实例1:将reader表中所有女生的Rid和Name复制到reader_copy表中。
先使用命令:
CREATE TABLE IF NOT EXISTS reader_copy(LIKE reader);
再使用命令:
INSERT INTO reader_copy (Rid ,Name,Sex)
SELECT Rid ,Name,Sex FROM reader WHERE Sex='女';
任务二
1
修改数据
新知讲授
四
⊙修改数据
➽ 修改数据语法格式
基本语法形式如下:
UPDATE 表名 SET 字段1=值1[,字段2=值2...] [WHERE 条件表达式];
说明:
1、SET子句指示要修改哪些字段以及这些字段相应的字段值;
2、WHERE子句指定应更新哪些行。若缺省WHERE子句,则更新所有行;
新知讲授
四
⊙修改数据
➽ 实例1:将book表中吉林大学出版社的图书打八折处理。
MySQL语句如下:
INSERT INTO reader_copy (Rid ,Name,Sex)
SELECT Rid ,Name,Sex FROM reader WHERE Sex='女';
修改前原表中的相关记录如下:
修改后原表中的相关记录如下:
任务二
1
删除数据
新知讲授
四
⊙删除数据
➽ 删除数据概述
基本语法形式如下:
DELETE FROM 表名 [WHERE 条件表达式];
在MySQL中,有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE...TABLE语句。
DELETE语句可以通过WHERE子句对要删除的记录进行选择。而使用TRUNCATE...TABLE语句将删除表中的所有记录。因此,使用DELETE语句更灵活。
➽ 1、DELETE语句
新知讲授
四
⊙删除数据
基本语法形式如下:
TRUNCATE [TABLE ]表名;
说明:
1、如果没有指定WHERE子句,MySQL表中的所有记录将被删除;
2、可以在单个表中一次删除记录;
➽ 2、TRUNCATE....TABLE语句
说明:
该语句用于删除表中的所有记录,不能与WHERE子句一起使用。
新知讲授
四
⊙删除数据
➽ DELETE语句与TRUNCATE....TABLE语句的区别
DELETE语句,每删除一条语句,都会在日志中记录,而使用TRUNCATE....TABLE语句,不会在日志中记录删除的内容,因此,TRUNCATE....TABLE语句的执行效率比DELETE语句高。
不管使用DELETE语句还是TRUNCATE....TABLE语句,在删除表中的记录时,都需要读者仔细考虑是否有删除记录的必要,以免造成麻烦。
新知讲授
四
⊙删除数据
➽ 实例1:删除book表中书号为“X002”和”J001”的记录
MySQL语句如下:
DELETE FROM book WHERE bookid IN (‘X002’,’J001’);
➽ 实例2:清除borrow表中的数据
MySQL语句如下:
TRUNCATE TABLE borrow;
师生互动
五
1、总结插入数据的命令。
2、总结更新数据的命令。
3、总结删除数据的命令。
讨论
随堂练习
六
1、 INSERT命令用于实现数据记录的添加,下列插入语句的格式错误的是( )
A.INSERT .... VALUES
B. INSERT.....SET
C.INSERT....ADD
D.INSERT....SELECT
【答案】C
【解析】INSERT命令中不包含INSERT....ADD格式。
随堂练习
六
2、关于INSERT命令,下列说法错误的是( )
A.INSERT命令用来向数据表中插入数据
B.INSERT命令有INSERT...VALUES、INSERT...SET和INSERT...SELECT三种格式
C.INSERT只能对指定的列插入数据
D.INSERT命令可以一次向表中插入多条数据
【答案】C
【解析】INSERT命令可以对表中全部数据列插入数据,也可以对指定列插入数据
随堂练习
六
3、 下列关于DELETE命令说法错误的是( )
A. DELETE命令可以用来删除表中满足条件的记录
B. DELETE命令执行后,可以将表中的数据和表结构全部删除
C. DELETE命令是不可逆的,一旦执行删除操作后,是无法将表中的数据进行恢复的
D. DELETE命令若省略WHERE子句,则代表删除表中全部记录
【答案】B
【解析】DELETE命令只能删除表中数据,不能删除表结构
随堂练习
六
4、在MySQL语言中,带子查询的删除语句用于( )。
A.删除满足特定条件的记录
B.删除与子查询结果匹配的记录
C.插入子查询结构为条件的新记录
D.更新与子查询结果匹配的记录
【答案】B
【解析】带子查询的删除语句用于删除与了查询结构匹配的记录。
随堂练习
六
5、 在使用UPDATE命令更新表中的数据时,若没有WHERE条件,则代表对表中的所有数据进行更新。( )
【答案】对。在使用UPDATE命令更新表中的数据时,若没有WHERE条件,则代表对表中的所有数据进行更新。
6、使用INSERT.....SET命令插入记录时,一次可以插入多条记录。( )
【答案】错。INSERT.....SET命令插入记录时,一次可以插入一条记录。
课堂小结
七
谢谢
$$