服务(第二十一篇)mysql高级查询语句(二)

①视图表:

视图表是虚拟表,用来存储SQL语句的定义

如果视图表和原表的字段相同,是可以进行数据修改的;

如果两者的字段不通,不可以修改数据。

语法:

创建:create view 试图表名 as ...

查看:select * from  视图表名

删除:drop view 视图表名

②case语句:

语法:
SELECT CASE ("宁段名")
WHEN"条件1" THEN"结果1"
WHEN“条件2" THEN"结果2"
...
[ELSE"结果N"]
END
EROM"表名";

##"条件"可以是一个数值或是公式。ELSE 子句则并不是必须的。

最后一个框是我的case语句的条件从哪获取sales,呼应前面的sales条件。

 ③空值和null值的区别:

1、空值的大小为0不占空间,null值的大小为null;

2、IS NULL 或者 IS NOT NULL,是用来判字段是不是为 NULL 或者不是 NULL,不能查出是不是无值的;

3、无值的判断使用="或者<>""来处理。s> 代表不等于;

4、在通过 count()指定字段统计有多少行数时,如果遇到 NULL 值会自动忽略,遇到无值会加入到记录中进行计算。

④正则表达式:

匹配模式描述实例
^匹配文本的开始字符^bd'匹配以bd开头的字符串
$匹配文本的结束字符qn$'匹配以gn结尾的字符串
.匹配任何单个字符s.t'匹配任何s和t之间有—个字符的字符串
*匹配零个或多个在它前而的字符fo*t'匹配t前而有任意个。
+匹配前面的字符1次或多次hom+'匹配以ho开头,后而至少一个m的字符串
字符串匹配包含指定的字符串clo'匹配含有clo的字符串
p1lp2匹配p1或p2bg | fg'匹配bg或者fg
[…]匹配字符集合中的任意一个字符[abc]'匹配a或者b或者c
[^…]匹配不在括号中的任何字符[^ab]匹配不包含a或者b的字符串
{n}匹配前面的字符串n次g{2}'匹配含有2个g的字符串
{n,m}匹配前而的字符串至少n次,至多m次f{1,3}'匹配f最少1次,最多3次

语法: SELECT“字段”EROM"表名”WHERE"字段”REGEXP{模式];

⑤ 存储过程(类似于函数):

delimiter $$                    #将语句的结束符号从分号;临时改为两个$$ (可以是自定义)
create procedure proc5()        #创建存储过程,过程名为proc, 不带参数
-> begin                        #过程体以关键字BEGIN开始
-> select * from students;      #过程体语句(自己根据需求进行编写)
-> end $$                        #过程体以关键字END结束
delimiter ;                     #将语句的结束符号恢复为分号

 call test1('yht');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值