- 博客(12)
- 问答 (1)
- 收藏
- 关注
原创 MySQL开发不可错过的博客
这个blog我们来聊聊MySQL的开发很多同学熟悉的MySQL sql的基本知识,sql的增删改查、表连接、分组聚合、常用函数等之后,就开始是想要进阶了。最近抽时间整理了一下MySQL sql进阶以及MySQL存储过程编程的blog,由于个人能力有限,如有错误的地方,欢迎指正。如需要scott用户下建表及录入数据语句,可参考:scott建表及录入数据sql脚本一.MySQL 行转列MySQL行转列MySQL行转列是MySQL岗位笔试的一个入门级别的考试题目,做一些日常的统计分析报表的时候经常会
2020-06-12 10:17:29 1443
原创 MySQL 8.0 视图简介
备注:测试数据库版本为MySQL 8.0这个blog我们来聊聊MySQL视图。文章目录一.视图语法二.视图案例1.视图能够简化用户内的操作2.视图使用户能以多种角度看待同一数据3.视图对重构数据库提供了一定程度的逻辑独立性4.视图能够对机容密数据提供安全保护前言:视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定
2020-06-12 09:00:19 1656
原创 MySQL事件简介
备注:测试数据库版本为MySQL 8.0这个blog我们来聊聊MySQL事件。MySQL的事件功能同Oracle里面的JOB,作为定时任务使用。文章目录一.语法相关二.开启和关闭事件调度三.案例一.语法相关创建事件语法:CREATE [DEFINER = user] EVENT [IF NOT EXISTS] event_name ON SCHEDULE schedule [ON COMPLETION [NOT] PRESERVE] [EN
2020-06-11 09:50:05 768
原创 MySQL 8.0 触发器简介
备注:测试数据库版本为MySQL 8.0这个blog我们来聊聊MySQL触发器。触发器是在表中数据发生更改时自动触发执行的,特殊的存储过程。存储过程是手工进行调用的,触发器是自动的。当然,对于频繁更新或数据量比较大的表,慎用触发器,在一定程度上,会影响性能。一.语法相关触发器语法:CREATE [DEFINER = user] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH
2020-06-10 09:14:26 3301 9
原创 MySQL函数编程简介
备注:测试数据库版本为MySQL 8.0这个blog我们来聊聊MySQL函数,函数功能与存储过程大体类似,但是函数需要有一个返回值,可以被sql调用,复杂的sql查询可以通过自己定义的函数解决。如需要scott用户下建表及录入数据语句,可参考:scott建表及录入数据sql脚本一.语法相关语法:CREATE [DEFINER = user] FUNCTION sp_name ([func_parameter[,...]]) RETURNS type [charac
2020-06-08 10:49:28 998
原创 MySQL存储过程编程简介
备注:测试数据库版本为MySQL 8.0这个blog我们来聊聊MySQL存储过程,MySQL的存储过程比较其它如Oracle、SqlServer、PostgreSQL会弱很多,但是也能实现一些单纯sql语句不能实现,或者是实现起来比较复杂业务场景,有总比没有强,而且Oracle公司在加强对MySQL各方面的提升,也许后面MySQL的存储过程会有很大的提升。一.语法相关语法:CREATE [DEFINER = user] PROCEDURE sp_name ([proc_paramet
2020-06-07 10:22:49 1093
原创 MySQL游标简介
备注:测试数据库版本为MySQL 8.0这个blog我们来聊聊MySQL游标,MySQ存储过程和函数与游标结合使用,可以实现复杂的业务逻辑,当然MySQL游标整体性能还有待提高。语法:-- 声明游标DECLARE cursor_name CURSOR FOR select_statement-- 打开游标OPEN cursor_name-- 获取游标FETCH [[NEXT] FROM] cursor_name INTO var_name [, var_name] ...-- 关闭游标C
2020-06-06 20:46:37 764
原创 MySQL流程控制语句简介
备注:测试数据库版本为MySQL 8.0这个blog我们来聊聊MySQL流程控制语句,流程控制语句在存储过程、函数、触发器和事件里面可以被使用到。文章目录一.CASE语句二.IF语句三.ITERATE语句四.LEAVE语句五.LOOP语句六.REPEAT语句七.WHILE语句一.CASE语句CASE语句用于条件判断CASE语句与CASE函数使用上有差异:1.CASE函数是在SQL里使用,而CASE语句在存储过程及函数里使用2.CASE语句不能用esle null子句,用else begin e
2020-06-05 09:58:56 1459
原创 MySQL高级窗口函数简介
备注:测试数据库版本为MySQL 8.0这个blog我们来聊聊MySQL高级窗口函数窗口函数在复杂查询以及数据仓库中应用得比较频繁与sql打交道比较多的技术人员都需要掌握文章目录一.row_number、rank、dense_rank二.lag、lead三.first_value、last_value、nth_value四.percent_rank、CUME_DIST五.ntile如需要scott用户下建表及录入数据语句,可参考:scott建表及录入数据sql脚本函数名函数用途
2020-06-04 09:12:44 1812 3
原创 MySQL正则表达式简介
备注:测试数据库版本为MySQL 8.0这个blog我们来聊聊MySQL的正则表达式函数名函数用途REGEXP_INSTR()指定位置开始是否符合正则表达式REGEXP_LIKE()判断字符串是否符合正则表达式,同义词RLIKE REGEXPREGEXP_REPLACE()替换满足正则表达式的字符REGEXP_SUBSTR()返回符合正则的字符串文章目录一.REGEXP_INSTR()二.REGEXP_LIKE()三.regexp_replace()四
2020-06-03 09:40:53 2424
原创 MySQL with语句小结
备注:测试数据库版本为MySQL 8.0这个blog我们来聊聊MySQL的with语句对于逻辑复杂的sql,with可以大大减少临时表的数量,提升代码的可读性、可维护性MySQL 8.0终于开始支持with语句了,对于复杂查询,可以不用写那么多的临时表了。如需要scott用户下建表及录入数据语句,可参考:scott建表及录入数据sql脚本语句结构:with subquery_name1 as (subquery_body1), subquery_name2 as (subque
2020-06-02 16:22:06 47613 6
原创 MySQL分组语句
备注:测试数据库版本为MySQL 8.0这个blog我们来聊聊Mysql的分组语句文章目录一.group by 语句二.rollup语句三.grouping语句测试数据:CREATE TABLE testa (area VARCHAR(20), month VARCHAR(20),amount int);insert into testa values ('上海', '1月', 199); insert into testa values ('上海', '2月', 199); ins
2020-06-01 10:03:10 2929
空空如也
flink aggregate方法报错
2021-10-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人