> #### *使用的关键字REGEXP或NOT REGEXP(RLIKE或NOT RLIKE)*
'*' 星号是匹配0个或多个在它前面的字符
'.' 点是匹配任意单个字符
'+'匹配前面的子表达式一次或多次
'[]'匹配中括号的任意字符
[abc]匹配字符a b或c
[a-z]匹配任意字符
[0-9]匹配任何数字
[0-9]*匹配任何数量的任何数字
[a-z]*匹配任何数量的字母
^表示以某个字符或字符串开始
$表示以某个字符或字符串结尾
s$表示以字母s结尾
如果使用一个正则表达式来匹配,其模式有别于SQL模式
SQL匹配模式 l% 表示以字符 l 开始的,而正则表达式则是用 ^l 表示以 l 开始的
SQL匹配模式 %l 表示以字符 l 结尾的,而下面表达式则有用 l$ 表示以 l 结尾
SQL匹配模式 %l% 表包含l字符
*****
> #### *SQL匹配模式*
1、使用SQL匹配模式,不能使用操作符=或!=,而是使用操作符LIKE或NOT LIKE;
2、使用SQL匹配模式,MYSQL提供了两种通配符;
% 表示任意数量的任意字符(其中也包括0个)
_ 表示任意单个字符 ___ 三个下划线表示查询包含任意三个字符的字符串 _o% 查询第二个字符为o的字符串
3、使用SQL匹配模式,如果匹配模式中不包含以上2种通配符中的任意一个, . 其查询的效果
***`正则默认不区分大小写,用BINARY强制区分大小写`***
```SQL
SELECT * FROM `user` where username like '___'; 查询三个字符
SELECT * FROM `user` WHERE username REGEXP '...'; 查询只要3个及3个以上
SELECT * FROM `user` WHERE username REGEXP '^...$'; 查询三个字符
SELECT * FROM `user` WHERE username LIKE '%k%'; 必须两个%才能匹配#
SELECT * FROM `user` WHERE username LIKE 'k%' 以k
SELECT * FROM `user` WHERE username like '_i%'查询第二个字符以i开头的
```
*****
> #### *MySQL存储过程*
```SQL
SHOW PROCEDURE status #显示存储过程
```
创建储存过程,要先定义分隔符,这里定义的是//
```SQL
DELIMITER //
CREATE PROCEDURE getList()
BEGIN
SELECT * FROM `user` WHERE `scroe` > 60;
END
//
DELIMITER ;
```
删除存储过程
```SQL
DROP PROCEDURE [过程1[,过程2…]]
```
*****