MySQL学习笔记--MySQL编程

一、常量

类型 说明
字符串常量 分为ASCII常量和Unicode常量(加前缀N,如 N 'hello'),部分特殊字符须转义
数值常量 整数常量、浮点数常量
十六进制常量 通常指定为一个字符长常量,每对十六进制数字被转换为一个字符,如X'4D5F' , x'4D5F' 或 0x4D5F
日期时间常量 由单引号将表示日期时间的字符串括起来,年月日的顺序,间隔符为“-”、“\”,"@" 或 "%"
位字段常量 使用字母b和由单引号引起来的数值表示,如b’value',其中value是一个用0或1写成的二进制值
布尔值 TURE / FALSE,或者1 / 0
NULL值 空值,即没有值、无数据。它不同于0或空字符串

二、变量

1、用户变量,用户自定义的变量

使用SET关键字来定义变量,变量名称前使用@符号,格式如:

SET @user_variable=expression  或 SET @user_variable1=expression1 [,user_variable2=expression2,...]

在SQL语句中,使用":="作为分配符,如SELECT @t2:=7 as t2

2、系统变量,系统生成的变量

必须在变量名称前加两个@符号,省略两个@符号的常用系统变量如下:

CURRENT_DATE: 系统日期

CURRENT_TIME:  系统时间

CURRENT_TIMESTAMP:  系统日期和时间

CURRENT_USER:  SQL用户的名字

系统变量分为全局系统变量和会话系统变量

三、运算符

1、算术运算符:

+ 加法
- 减法
* 乘法
/ , DIV() 除法
% , MOD() 求余

2、比较运算符:

运算符 作用
= 等于
<>或!= 不等于
<=> NULL安全的等于
< 小于
<= 小于等于
> 大于
>= 大于等于
BETWEEN  AND 存在于指定范围
IN 存在于指定集合
IS  NULL 为NULL
IS NOT NULL 不为NULL
LIKE 通配符匹配
REGEXP  或  RLIKE 正则表达式匹配

3、逻辑运算符:

运算符 作用
NOT 或 ! 逻辑非
AND 或 && 逻辑与
OR 或 || 逻辑或
XOR 逻辑异或

4、位运算符:

运算符 作用
& 位与
| 位或
^ 位异或
~ 位取反
>> 位右移
<< 位左移

5、运算符优先级:

优先级顺序 运算符
1 INTERVAL
2 BINARY , COLLATE
3 !
4 -(一元减号),~(一元比特反转)
5 ^
6 * , / , DIV , % , MOD
7 - , +
8 << , >>
9 &
10 |
11 = , <=> , >=, > , <= , < , <> , != , IS , LIKE , REGEXP , IN
12 BETWEEN , CASE , WHEN , THEN , ELSE
13 NOT
14 && , AND
15 || , OR , XOR
16 !=

四、控制语句

MySQL数据库支持多种控制语句,包括选择语句、循环语句、迭代和跳出,但能够用在控制台命名的只有条件语句,其它语句可在函数、存储过程和触发器中使用

1、条件语句(IF和CASE)

控制台:

IF  (条件,结果1,结果2);


CASE 字段名称

WHEN 值1  THEN  结果1

WHEN 值2  THEN  结果2

WHEN 值N  THEN  结果N

ELSE 默认结果

END AS 字段别名

函数或存储过程:

IF  search_condition THEN statement_list

[ ELSEIF search_condition THEN statement_list ]...

[ ELSE statement_list ]

END IF

CASE [ case_value ] 

WHEN search_condition THEN statement_list

[ WHEN search_condition THEN statement_list ]...

END CASE

2、循环语句

(1)  WHILE      END WHILE

(2) REPEAT    END REPEAT

(3) LOOP     END LOOP

(4) LABLES 标号

(5) ITERATE迭代

你可能感兴趣的:(MySQL)