(中职)MySQL 8.0数据库管理与应用第5章教学课件().pptx
-
资源ID:87678921
资源大小:1.35MB
全文页数:21页
- 资源格式: PPTX
下载积分:20金币
快捷下载

会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
(中职)MySQL 8.0数据库管理与应用第5章教学课件().pptx
(中职)MySQL 8.0数据库管理与应用第5章教学课件(工信版)第第5 5章章 MySQLMySQL语言语言5.1.1 常量1.字符串常量字符串是用单引号“”或双引号“”引起来的字节或字符的序列。例如:This is a string.This is a string.“转义字符是反斜线()开头的字符序列。MySQL可识别的字符串转义序列在表5.1中列出。5.1 5.1 常量和变量常量和变量5.1.1 常量2.数值常量数值常量分为整数常量和浮点数常量。整数常量用一系列阿拉伯数字表示。浮点数常量使用“.”作为小数点。两种类型的数值均可以在前面加一个“-”符号来表示负值。例如:12213,+3911,0,-32,+123456789,-21474836483.十六进制常量十六进制常量可以表示为Xval或0 xval形式,其中val包含十六进制数字(09,AF)。数字中的字母和前导字符X都不区分大小写。但前导字符0 x区分大小写,不能写为0X。例如:X01AF,X01af,x01AF,x01af,0 x01AF,0 x01af4.日期时间常量日期型常量的数据类型为DATE,其中包括年、月、日3个部分,可以用2019-07-01之类的日期字符串来表示。时间型常量的数据类型为TIME,其中包括小时数、分钟数、秒数以及微秒数4个部分,可以用21:01:16.00026之类的时间字符串来表示。日期时间型常量的类型为DATETIME或TIMESTAMP,其中包括日期和时间两个部分,可以用2019-07-01 21:07:36之类的日期时间字符串来表示。DATETIME与TIMESTAMP的区别在于:DATETIME的年份范围为10009999,TIMESTAMP的年份范围则为19702037;此外,TIMESTAMP还支持时区,并且会忽略时间中的微秒部分。5.1 5.1 常量和变量常量和变量5.1.1 常量5.位值常量位值常量使用bval或0bval形式表示,其中val是使用0和1表示的二进制值。前导字符0b是区分大小写的,不能写成0B。例如:b01,B01,0b016.布尔常量布尔常量有两个可能值:TRUE和FALSE,其中TRUE的数字值等于1,FALSE的数字值等于0。这两个常量的名称不区分大小写,写成大写、小写或首字符大写都可以。7.NULL值NULL值表示“没有数据”。NULL值不区分大小写,可以写成NULL、Null或null。NULL值与数值类型的值(如0)或字符串类型的空字符串()不同。当使用ORDER BY查询结果进行排序时,升序排序中NULL值位于其他值之前,降序排序中NULL值位于其他值之后。5.1 5.1 常量和变量常量和变量5.1.2 变量1.用户变量使用SET语句对一个或多个用户变量进行初始化:SET var_name=表达式,var_name=表达式.也可以使用SELECT语句来为用户变量分配一个值。此时赋值运算符必须使用“:=”,而不能使用“=”。2.系统变量MySQL服务器维护两种系统变量,即全局变量和会话变量,其中全局变量影响服务器整体操作,会话变量则影响具体客户端连接的操作。p设置全局变量的值时应使用GLOBAL关键字或global.前缀p设置会话变量的值时应使用SESSION关键字或session.前缀,也可以什么都不添加p检索所有全局变量的清单:SHOW GLOBAL VARIABLES;p检索所有会话变量的清单:SHOW SESSION VARIABLES;5.1 5.1 常量和变量常量和变量5.2.1 算术运算符算术运算符用于对两个表达式进行数学运算,这两个表达式的值可以是任何数字数据类型。MySQL提供的算术运算符,包括:+(加法)、-(减法)、*(乘法)、/(除法)、DIV(整除)以及%(求余),其中求余运算符%用于计算两个相除得到的余数,也可以写成MOD。p加法运算符“+”:用于计算两个或多个值相加得到的和,也可以用于对日期时间值进行算术运算。p减法运算符“-”:用于计算两个值相减得到的差。与加法运算符一样,减法运算符也可以用于对日期时间值进行运算。p乘法运算符“*”:用于计算两个或多个值相乘得到的积。p除法运算符:包括“/”和DIV。其中“/”用于计算两个数相除得到的商,包括小数部分在内;DIV也用于计算两个数相除得到的商,但只取整数部分。在除法运算中,不允许以0作为除数,如果以0作为除数,则返回NULL。p求余运算符:包括“%”和MOD,它们的作用完全相同。与除法运算一样,在求余运算中也不允许以0作为除数,如果以0作为除数,则返回NULL。5.2 5.2 运算符和表达式运算符和表达式5.2.2 比较运算符p等于运算符“=”:用于比较两个表达式的值是否相等,如果相等则返回1,否则返回0,如果两个表达式中有一个为NULL,则返回NULL。等于运算符可以用于比较两个数字表达式,也可以用于比较两个字符串表达式。比较字符串时是不区分大小的,如果要区分大小写,则需要使用BINARY关键字。p不等于运算符:包括“”和“!=”,它们的作用完全相同。不等于运算符用于比较两个表达式是否不相等,如果不相等则返回1,否则返回0,如果两个表达式中有一个为NULL,则返回NULL。p 其他比较运算符:“”、“=”、“”、“”:将左操作数的各个二进制位向右移动,移动的位数由右操作指定,向右移动一位相当于除以2,移动后左边的空位补0,一个数向右移动n位相当于对这个数除以2n。p位右移运算符“”:将左操作数的各个二进制位向左移动,移动的位数由右操作指定,向左移动一位相当于乘以2,移动后左边的空位补0,一个数向左移动n位相当于对这个数乘以2n。5.2 5.2 运算符和表达式运算符和表达式5.2.5 运算符优先级当一个表达式包含多个运算符时,运算的先后顺序取决于运算符的优先级,运算的顺序将对运算结果产生影响。下面由低到高的顺序列出了运算符的优先级,排列在同一行的运算符具有相同的优先级。BINARY,COLLATE!-(一元运算符,负号),(一元运算符,位取反)*,/,DIV,%,MOD-,+&|=(比较运算符,相等),=,=,!=,IS,LIKE,REGEXP,INBETWEEN,CASE,WHEN,THEN,ELSENOTAND,&XOROR,|=(赋值运算符),:=5.2 5.2 运算符和表达式运算符和表达式5.2.6 表达式表达式是由常量、变量、列名、函数和运算符组合而成的式子。一个表达式通常可以计算出一个值,该值称为表达式的值。与常量和变量一样,表达式也具有某种数据类型,可能的数据类型包括字符串型、数值型以及日期时间型。根据表达式的值的数据类型,可以将表达式分为字符串表达式、数值表达式和日期时间表达式。表达式的值有各种形式,可以一个值,也可以是一组值。如果表达式的值可以是一个值,例如一个字符串、一个数值或一个日期,则这种表达式称为标量表达式。例如,1+2*3、MySQL 以及 A=B 等都是标量表达式。如果表达式的值是由不同数据类型组成的一行值,则这种表达式称为行表达式。例如,下面的数据表示一条学生记录,这就是一个行表达式:18161001,张三,男,1999-09-09,数学,80*0.4+92*0.6如果表达式是由0个、1个或多个行表达式构成的集合,则这种表达式称为表表达式。在MySQL中,表达式一般用于SELECT语句的输出列表和WHERE子句中。5.2 5.2 运算符和表达式运算符和表达式5.3.1 数学函数数学函数用于执行各种数学运算,例如计算三角函数、指数函数以及对数函数的值等等。如果在调用数学函数的过程中出现错误,则所有数学函数将返回NULL值。5.3 5.3 系统内置函数系统内置函数5.3.2 字符串函数字符串函数主要用于处理数据库中的字符串数据,例如计算字符串长度、合并字符串、替换字符串以及提取子字符串等。5.3 5.3 系统内置函数系统内置函数5.3.3 日期时间函数日期和时间函数主要用于处理日期和时间数据。用于处理日期值的函数通常会接受日期时间值而忽略时间部分,而用于时间值的函数通常接受日期时间值而忽略日期部分。此外,许多日期函数还可以接受数值和字符串类型的参数。5.3 5.3 系统内置函数系统内置函数5.3.5 系统信息函数MySQL提供了一些系统信息函数,可以用来获取MySQL服务器的版本号、当前连接的用户和数据库以及字符串的字符集和排序方式等信息。5.3 5.3 系统内置函数系统内置函数5.3.4 流程控制函数1.IF()函数IF(表达式1,表达式2,表达式3)2.IFNULL()函数IFNULL(表达式1,表达式2)3.NULLIF()函数NULLIF(表达式1,表达式2)4.CASE()函数p将某个表达式与一组表达式进行比较以确定结果:CASE 输入表达式 WHEN 匹配表达式 THEN 结果表达式 WHEN 匹配表达式 THEN 结果表达式.ELSE 结果表达式ENDp计算一组表达式的值以确定结果:CASE WHEN 条件 THEN 结果 WHEN 条件 THEN 结果.ELSE 结果END5.3 系统内置函数5.3.6 加密函数1.MD5()函数MD5()函数用于计算字符串的128位MD5校验和:MD5(str)2.SHA1()和SHA2()函数SHA1()函数用于计算字符串的160位SHA-1校验和:SHA1(str)SHA2()函数用于计算SHA-2系列散列函数(SHA-224、SHA-256、SHA-384和SHA-512):SHA2(str,hash_length)3.AES_ENCRYPT()和AES_DECRYPT()函数AES_ENCRYPT()函数使用密钥字符串key_str对字符串str进行加密,并返回包含加密输出的二进制字符串:AES_ENCRYPT(str,key_str,init_vector)AES_DECRYPT()函数使用密钥字符串key_str对已加密字符串crypt_str进行解密并返回原始的明文字符串:AES_DECRYPT(crypt_str,key_str,init_vector)5.3 5.3 系统内置函数系统内置函数5.3.7 类型转换函数1.CAST()函数CAST()函数用于将一个表达式的值转换为另一种数据类型:CAST(expr AS type)其中参数expr给出要转换的表达式;type指定要转换的目标数据类型。也可以使用CAST()函数将一个字符串转换到一个不同的字符集:CAST(character_string AS character_data_type CHARACTER SET charset_name)2.CONVERT()函数CONVERT()函数用于转换表达式的数据类型或字符串的字符集,有以下两种语法格式。CONVERT(expr,type)CONVERT(expr USING transcoding_name)5.3 5.3 系统内置函数系统内置函数5.3.8 杂项函数1.处理IPv4网址(1)INET_ATON()函数用于返回IPv4网址的数值:INET_ATON(expr)(2)INET_NTOA()函数用于从数值返回IPv4地址:INET_NTOA(expr)(3)IS_IPV4()函数用于判断传入的参数是否为有效的IPv4网址:IS_IPV4(expr)2.处理IPv6网址(1)INET6_ATON()用于返回IPv6网址的数值:INET6_ATON(expr)(2)INET6_NTOA()函数用于从数值返回IPv6地址:INET6_NTOA(expr)(3)IS_IPV6()用于判断传入的参数是否为有效的IPv6网址:IS_IPV6(expr)5.3 5.3 系统内置函数系统内置函数5.3.8 杂项函数3.处理UUID(1)UUID()函数用于生成一个通用唯一标识码(UUID):UUID()(2)UUID_TO_BIN()函数将字符串形式的UUID转换为二进制UUID并返回结果:UUID_TO_BIN(string_uuid,swap_flag)(3)BIN_TO_UUID()函数将二进制UUID转换为字符串并返回结果:BIN_TO_UUID(binary_uuid,swap_flag)(4)IS_UUID()函数用于测试传入的参数是否是有效的UUID:IS_UUID(string_uuid)4.暂停函数SLEEP()函数用于休眠几秒钟:SLEEP(duration)5.3 5.3 系统内置函数系统内置函数