内容正文:
(中职)MySQL 8.0数据库管理与应用第5章教学课件(工信版)
第5章 MySQL语言
2
5.1.1 常量
1. 字符串常量
字符串是用单引号“'”或双引号“"”引起来的字节或字符的序列。例如:'This is a string.' "This is a string.“ 转义字符是反斜线(\)开头的字符序列。MySQL可识别的字符串转义序列在表5.1中列出。
5.1 常量和变量
5.1.1 常量
2. 数值常量
数值常量分为整数常量和浮点数常量。整数常量用一系列阿拉伯数字表示。浮点数常量使用“.”作为小数点。两种类型的数值均可以在前面加一个“-”符号来表示负值。例如:12213,+3911,0,-32,+123456789,-2147483648
3. 十六进制常量
十六进制常量可以表示为X'val'或0xval形式,其中val包含十六进制数字(0~9,A~F)。数字中的字母和前导字符X都不区分大小写。但前导字符0x区分大小写,不能写为0X。例如:X'01AF',X'01af',x'01AF',x'01af',0x01AF,0x01af
4. 日期时间常量
日期型常量的数据类型为DATE,其中包括年、月、日3个部分,可以用'2019-07-01'之类的日期字符串来表示。
时间型常量的数据类型为TIME,其中包括小时数、分钟数、秒数以及微秒数4个部分,可以用'21:01:16.00026'之类的时间字符串来表示。
日期时间型常量的类型为DATETIME或TIMESTAMP,其中包括日期和时间两个部分,可以用'2019-07-01 21:07:36'之类的日期时间字符串来表示。DATETIME与TIMESTAMP的区别在于:DATETIME的年份范围为1000~9999,TIMESTAMP的年份范围则为1970~2037;此外,TIMESTAMP还支持时区,并且会忽略时间中的微秒部分。
5.1 常量和变量
5.1.1 常量
5. 位值常量
位值常量使用b'val'或0bval形式表示,其中val是使用0和1表示的二进制值。前导字符0b是区分大小写的,不能写成0B。例如:b'01',B'01',0b01
6. 布尔常量
布尔常量有两个可能值:TRUE和FALSE,其中TRUE的数字值等于1,FALSE的数字值等于0。这两个常量的名称不区分大小写,写成大写、小写或首字符大写都可以。
7. NULL值
NULL值表示“没有数据”。NULL值不区分大小写,可以写成NULL、Null或null。
NULL值与数值类型的值(如0)或字符串类型的空字符串("")不同。
当使用ORDER BY查询结果进行排序时,升序排序中NULL值位于其他值之前,降序排序中NULL值位于其他值之后。
5.1 常量和变量
5.1.2 变量
1. 用户变量
使用SET语句对一个或多个用户变量进行初始化:
SET @var_name = 表达式 [, @var_name = 表达式] ...
也可以使用SELECT语句来为用户变量分配一个值。此时赋值运算符必须使用“:=”,而不能使用“=”。
2. 系统变量
MySQL服务器维护两种系统变量,即全局变量和会话变量,其中全局变量影响服务器整体操作,会话变量则影响具体客户端连接的操作。
设置全局变量的值时应使用GLOBAL关键字或@@global.前缀
设置会话变量的值时应使用SESSION关键字或@@session.前缀,也可以什么都不添加
检索所有全局变量的清单:SHOW GLOBAL VARIABLES;
检索所有会话变量的清单:SHOW SESSION VARIABLES;
5.1 常量和变量
5.2.1 算术运算符
算术运算符用于对两个表达式进行数学运算,这两个表达式的值可以是任何数字数据类型。MySQL提供的算术运算符,包括:+(加法)、-(减法)、*(乘法)、/(除法)、DIV(整除)以及%(求余),其中求余运算符%用于计算两个相除得到的余数,也可以写成MOD。
加法运算符“+”:用于计算两个或多个值相加得到的和,也可以用于对日期时间值进行算术运算。
减法运算符“-”:用于计算两个值相减得到的差。与加法运算符一样,减法运算符也可以用于对日期时间值进行运算。
乘法运算符“*”:用于计算两个或多个值相乘得到的积。
除法运算符:包括“/”和DIV。其中“/”用于计算两个数相除得到的商,包括小数部分在内;DIV也用于计算两个数相除得到的商,但只取整数部分。在除法运算中,不允许以0作为除数,如果以0作为除数,则返回NULL。
求余运算符:包括“%”和MOD,它们的作用完全相同。与除法运算一样,在求余运算中也不允许以0作为除数,如果以0作为除数,则返回NULL。
5.2 运算符和表达式