1、编程基础
1_1 标识符
标识符由字母、数字或下划线“_”组成,且以字母或下划线开头,用来命名一些对象,如数据库、表、列、变量等
1_2 常量
(1)字符串常量 推荐用单引号表示字符串
(2)数值常量 整数常量(十进制表示) 实数常量 0.12E-3、-0.3
(3)日期时间常量 必须符合日期、时间标准,有多种表示方法
(4)布尔常量 只包含两个可能值:True False
(5)NULL值 通常表示未知、值不确定、没有值等含义
1_3 变量
(1)系统变量:分为全局变量和会话变量,全局变量针对所有会话(连接)有效,但不能跨重启;
会话变量仅仅针对当前会话(连接)有效
查看系统变量(会话变量包括了全局变量)
查看所有的全局系统变量
查看所有的会话变量(这里的session可以省略)
进行了模糊查询,查看指定变量的会话变量
查询系统变量(注意:@@和后面的GLOBAL或者是会话变量名之间没有空格)
在调用某些特定的全局变量时需要省略“@@”符号,如系统日期、系统时间、当前用户等,
全局变量需要在@@后添加GLOBAL. ,会话变量则不需要
设置系统变量
设置全局变量值的方法:
设置会话变量值的方法:
(2)用户会话变量
用户自定义变量分为会话变量(以一个@开头,仅对当前用户使用的客户端生效)
和局部变量(不以@开头,仅仅在定义它的程序内有效)
定义用户会话变量
1)法一:使用set语句定义用户会话变量,并为其赋值
2)法二:使用select语句定义用户会话变量,并为其赋值
注:select语句中”=“是作为比较运算符使用的,与”:=“不同
3)法三:使用select into语句定义用户会话变量,并为其赋值
(区别于方法二不显示运行结果)
用户会话变量在SQL语句中的使用
剩余的用法此处不再赘述
1_4 注释
单行注释:#或者是--加上一个空格
多行注释:/* */
1_5 BEGIN END语句块
需要多条MYSQL语句时,可将语句放入该语句块中,单独使用并无意义,封装到函数、事件中等有意义
1_6 更改语句结束符的DELIMITER
2、运算符和表达式
2_1 算术表达式和算术运算符
2_2 比较运算符和比较表达式
等于运算:若有一个操作数为NULL,则比较运算结果为NULL;
均为字符串,按字符串进行比较(不区分大小写);
若两个都为整数则按照整数进行比较,若有浮点数,则按浮点数比较;
若一个字符串一个数值,则将字符串转换为数值
安全等于运算符:用于判断NULL
两个操作数均为NULL,返回1;一个为NULL,返回0
BETWEEN AND 条件表达式
2_3 逻辑运算符和逻辑表达式 (与、或、非、异或)
3、系统函数
示例
4、自定义函数(本章重点)
创建自定义函数以及调用自定义函数
根据上述不同的函数体,均可以得出正确的计算结果