第9章 运算符(课件)-《MySQL数据库原理与应用》同步教学(清华大学出版)

2024-09-20
| 29页
| 169人阅读
| 30人下载
普通

内容正文:

第9章 运算符 1 本章概述 运算符是用来连接表达式中各个操作数的符号,用于对操作数所进行的运算。MySQL数据库支持使用运算符,通过运算符可以更加灵活地使用表中的数据。MySQL运算符包括4类,分别是算术运算符、比较运算符、逻辑运算符和位运算符。本章主要讲解运算符及其优先级。 2 本章学习目标 掌握算术运算符、比较运算符、逻辑运算符和位运算符在数据库查询中的使用; 了解各运算符的优先级。 3 目录 01 02 03 04 比较运算符 算术运算符 逻辑运算符 运算符概述 05 位运算符 06 运算符的优先级 07 运算符综合示例 本章小结 08 4 运算符概述 MySQL支持的运算符包括:算术运算符、比较运算符、逻辑运算符和位运算符。 (1)算术运算符:包括加、减、乘、除和求余运算符,主要用于数值计算,其中,求余运算也称为模运算。 (2)比较运算符:包括大于、小于、等于、不等于和空运算符,主要用于数值的比较、字符串的匹配等。另外,LIKE、IN、BETWEEN AND和IS NULL、NULL等都是比较运算符,以及用于使用正则表达式的REGEXP也是比较运算符。 (3)逻辑运算符:包括与、或、非和异或运算符。这种运算的结果只返回真值(1或true)和假值(0或false)。 (4)位运算符:包括按位与、按位或、按位异或、按位左移和按位右移运算符。这些运算都必须先把数值转换成二进制,然后在二进制数上进行操作。 5 算术运算符 符号 表达式的形式 作用 + x1+x2+...+xn 加法运算 - x1-x2-…-xn 减法运算 * x1*x2*…*xn 乘法运算 / x1/x2 除法运算,返回x1除以x2的商 DIV x1 DIV x2 除法运算,返回商,同“/” % x1%x2 求余运算,返回x1除以x2的余数 MOD MOD(x1,x2) 求余运算,返回余数,同“%” 6 算术运算符 算术运算符最常用的一类运算符。算术运算符包括加、减、乘、除、除余。各算术运算符的符号、表达式的形式。 符号 表达式的形式 作用 + x1+x2+...+xn 加法运算 - x1-x2-…-xn 减法运算 * x1*x2*…*xn 乘法运算 / x1/x2 除法运算,返回x1除以x2的商 DIV x1 DIV x2 除法运算,返回商,同“/” % x1%x2 求余运算,返回x1除以x2的余数 MOD MOD(x1,x2) 求余运算,返回余数,同“%” 7 比较运算符 SELECT语句中的条件语句经常要用到比较运算符。通过比较运算符可以判断表中的哪些记录是符合条件的。 符号 表达式的形式 作用 = x1=x2 判断x1是否等于x2 <>或!= x1<>x2或x1!=x2 判断x2是否不等于x2 <=> x1<=>x2 判断x2是否等于x2 > x1>x2 判断x1是否大于x2 >= x1>=x2 判断x1是否大于等于x2 < x1<x2 判断x1是否小于x2 <= x1<=x2 判断x1是否小于等于x2 IS NULL x1 is NULL 判断x1是否等于NULL IS NOT NULL x1 is NOT NULL 判断x1是否不等于NULL BETWEEN AND x1 BETWEEN m AND n 判断x1的取值是否落在m和n之间 IN x1 IN(值1,值2,…,值n) 判断x1的取值是不是值1到值n中的一个 LIKE x1 LIKE 表达式 判断x1是否与表达式匹配 REGEXP x1 REGEXP 正则表达式 判断x1是否与正则表达式匹配 8 逻辑运算符 逻辑运算符用来判断表达式的真假,返回结果只有1和0。如果表达式是真,结果就返回1;如果表达式是假,结果就就返回0。逻辑运算符又称为布尔运算符。MySQL支持4种逻辑运算符,分为是与、或、非和异或。 符号 表达式形式 描述 AND(&&) x1 AND x2 与 OR(||) x1 OR x2 或 NOT(!) NOT x2 非 XOR x1 XOR x2 异或 9 位运算符 位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制,再进行位运算,最后将计算结果从二进制数变回十进制数。在MySQL中支持6种位运算符,分别是按位与、按位或、按位取反、按位异或、按位左移和按位右移。 10 运算符的优先级 优先级 运算符 1 ! 2 ~ 3 ^ 4 *、/、DIV、%、MOD 5 +、- 6 >>、<< 7 & 8 | 9 =、<=>、<、<=、>、>=、!=、<>、IN、IS NULL、LIKE、REGEXP 10 BETWEEN AND、CASE、WHEN、THEN、ELSE 11 NOT 12 &&、AND 13 ||、OR、XOR 14 := 11 运算符综合示例 (1)创建tb_test表 (2)使用INSERT向表中插入一条记录 (3)从tb_test表中取出num值进行加法、减法、乘法、除法和求余运算 (4)使用比较运算符将num值与其他数据进行比较 (5)判断num是否落在30~49之间,并且判断num的值是否在(10,20,30,40,50)这个集合中 (6)判断tb_test表的info字段的值是否为空,用LIKE来判断是否以“five”这两个字母开头,用REGEXP来判断第一个字母是否是f,最后一个字母是s (7)逻辑运算包括与、或、非和异或4种,分别将任意数字和NULL中的任意两个进行逻辑运算,进行与和或运算 (8)将数字6和10进行按位与、按位或运算,并将11按位取反 (9)将数字16左移两位、数字15右移两位 12 本章小结 本章介绍了MySQL中的运算符。在MySQL中包括4类运算符,分别是算术运算符、比较运算符、逻辑运算符和位运算符。前3种运算符在实际操作中使用比较频繁,也是本章重点讲述的内容。因此,读者需要认真学习这部分的内容。位运算符是本章的难点。因为位运算符需要将操作数转换为二进制数,然后进行位运算。这要求读者掌握二进制运算的相关知识。位运算符在实际操作中使用的频率比较低。 13 第10章 视图 14 本章概述 数据库中的视图是一个虚拟表。同真实的表一样,视图包含一系列带有名称的行和列数据。行和列数据来自于由定义视图查询所引用的表,并且在引用视图时动态生成。本章将结合实例来介绍视图的含义、视图的作用、创建视图、查看视图、修改视图、更新视图和删除视图等内容。 15 本章学习目标 了解视图的含义和作用; 掌握创建视图的方法,包括在单表上创建视图和在多表上创建视图; 熟悉如何查看视图,包括通过DESCRIBE和通过SHOW TABLE STATUS查看视图基本信息,通过SHOW CREATE VIEW和在views表中查看视图的详细信息; 掌握修改视图的方法,包括通过CREATE OR RELPLACE VIEW、ALTER语句修改视图; 掌握更新视图的方法,包括INSERT、UPDATE和DELETE三种更新方式; 掌握删除视图的方法,主要通过DROP VIEW语句实现; 掌握综合案例中视图应用的方法和技巧。 16 目录 01 02 03 04 查看视图 创建视图 修改视图 视图概述 05 更新视图 06 删除视图 07 视图应用 本章小结 08 17 视图概述 视图是从一个或者多个表中导出的,视图的行为与表非常相似,但视图是一个虚拟表。在视图中,用户可以使用SELECT语句查询数据,以及使用INSERT、UPDATE和DELETE语句修改记录。从MySQL 5.0开始可以使用视图,视图可以使用户操作方便,而且可以保障数据库系统的安全。 与直接从数据表中读取相比,视图有以下优点:简单化 安全性 逻辑数据独立性。 18 创建视图 视图中包含SELECT查询的结果,因此视图的创建基于SELECT语句和已存在的数据表,视图可以建立在一张表上,也可以建立在多张表上。 创建视图使用CREATE VIEW语句,基本语法格式如下: CREATE [OR REPLACE] [ALGORITHM = (UNDEFINED | MERGE | TEMPTABLE) ] VIEW view_name [(column_list] AS SELECT statement [WITH [CASCADED | LOCAL] CHECK OPTION] 其中,CREATE表示创建新的视图;REPLACE表示替换已经创建的视图;ALGORITHM表示视图选择的算法;view_name为视图的名称,column_list为属性列;SELECT_statement表示SELECT语句;WITH [CASCADED | LOCAL] CHECK OPTION参数表示视图在更新时保证在视图的权限范围之内。 19 创建视图 MySQL可以在单个数据表上创建视图。 【例10-1】在Z表上创建一个名为view_Z的视图,代码如下: (1)首先创建基本表并插入数据,语句如下: CREATE TABLE Z(quantity INT,price FLOAT); INSERT INTO Z VALUES(3,50); 运行结果如图所示。 20 创建视图 MySQL可以在单个数据表上创建视图。 【例10-1】在Z表上创建一个名为view_Z的视图,代码如下: (1)首先创建基本表并插入数据,语句如下: CREATE TABLE Z(quantity INT,price FLOAT); INSERT INTO Z VALUES(3,50); 运行结果如图1所示。 (2)创建视图,然后查询视图,语句如下: CREATE VIEW view_Z AS SELECT quantity, price, quantity *price FROM Z; SELECT * FROM view_Z; 执行结果如图2所示。 图2 图1 21 创建视图 MySQL中也可以在两个或者两个以上的表上创建视图,可以使用CREATE VIEW语句实现。 【例10-3】在表tb_student和表tb_student_info上创建视图stu_glass。 创建视图student_view,语句如下: CREATE VIEW student_view(s_id,s_name,glass) AS SELECT tb_student.s_id,tb_student.s_name,tb_student_info.glass FROM tb_student,tb_student_info WHERE tb_student.s_id=tb_student_info.s_id; SELECT * FROM student_view; 22 查看视图 查看视图是查看数据库中已存在的视图的定义。查看视图必须要有SHOW VIEW的权限,MySQL数据库下的user表中保存着这个信息。查看视图的方法包括:DESCRIBE、SHOW TABLE STATUS和SHOW CREATE VIEW。 DESCRIBE 视图名; SHOW TABLE STATUS LIKE '视图名'; SHOW CREATE VIEW 视图名; SELECT * FROM information_schema.views \G; 23 修改视图 使用CREATE OR REPLACE VIEW语句修改视图: CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE} VIEW view_name [(column_List)] AS SELECT_statement [WITH [CASCADED | LOCAL] CHECK OPTION] ALTER语句是MySQL提供的另一种修改视图的方法,语法如下: ALTER [ALGORITHM =(UNDEFINED | MERGE | TEMPTABLE)] VIEW view_name[(column list)] AS SELECT_statement [WITH [CASCADED | LOCAL] CHECK OPTION] 24 更新视图 针对视图对象进行更新、插入、删除,可以更新视图内容: UPDATE view_Z SET quantity=5; INSERT INTO t VALUES(2,4); DELETE FROM view_Z2 WHERE price=8; 25 删除视图 当视图不再需要时,可以将其删除,删除一个或多个视图可以使用DROP VIEW语句,语法格式如下:DROP VIEW [IF EXISTS] view_name [,view_name]… [RESTRICT | CASCADE]其中,view_name是要删除的视图名称,可以添加多个需要删除的视图名称,各个名称之间使用逗号分隔开。删除视图必须拥有DROP权限。 【例10-13】删除student_view视图,代码如下:DROP VIEW IF EXISTS student_view; 执行结果如图所示。 26 视图应用 本节通过示例来综合练习视图的创建、查询、更新和删除操作。基于图书信息系统,建立关于系统管理员、图书信息、借阅记录和归还记录的视图。 27 本章小结 数据库中的视图是一个虚拟表,也包含了一系列带有名称的行和列数据。行和列数据均来自于由视图所引用的表,并且在引用视图时动态抽取数据表中的数据。 本章通过理论与实例相结合,介绍了视图的含义、视图的作用、创建视图、查看视图、修改视图、更新视图和删除视图等内容。在建立视图时,可以基于单个数据表创建视图,也可以基于多数据表创建视图;可以通过DESCRIBE和通过SHOW TABLE STATUS查看视图基本信息,通过SHOW CREATE VIEW和在views表中查看视图的详细信息;通过CREATE OR RELPLACE VIEW、ALTER语句可以修改视图;更新视图的方法有INSERT、UPDATE和DELETE三种方式;当不再需要视图时,可以通过DROP VIEW语句删除视图。 28 谢谢观看 汇报人:秒出PPT 29 $$

资源预览图

第9章 运算符(课件)-《MySQL数据库原理与应用》同步教学(清华大学出版)
1
第9章 运算符(课件)-《MySQL数据库原理与应用》同步教学(清华大学出版)
2
第9章 运算符(课件)-《MySQL数据库原理与应用》同步教学(清华大学出版)
3
第9章 运算符(课件)-《MySQL数据库原理与应用》同步教学(清华大学出版)
4
第9章 运算符(课件)-《MySQL数据库原理与应用》同步教学(清华大学出版)
5
第9章 运算符(课件)-《MySQL数据库原理与应用》同步教学(清华大学出版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。