MySQL
EclipseO2
这个作者很懒,什么都没留下…
展开
-
sql(join on和where的执行顺序)(转载)
文章转载自(https://www.cnblogs.com/Jessy/p/3525419.html)left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录。right join :右连接,返回右表中所有的记录以及左表中连接字段相等的记录。inner join: 内连接,又叫等值连接,只返回两个表中连接字段相等的行。full join:外连接,返回两个表中...转载 2018-09-08 11:09:31 · 2090 阅读 · 0 评论 -
MySQL | 触发器
一、基本概念触发器是一种特殊类型的存储过程,它不同于存储过程,主要是通过事件触发而被执行的,即不是主动调用而执行的;而存储过程则需要主动调用其名字执行触发器:trigger,是指事先为某张表绑定一段代码,当表中的某些内容发生改变(增、删、改)的时候,系统会自动触发代码并执行。二、作用可在写入数据前,强制检验或者转换数据(保证护数据安全)触发器发生错误时,前面用户已经执行成功的操作会被...原创 2018-09-20 16:08:55 · 74469 阅读 · 14 评论 -
MySQL | 存储过程
一、概念存储过程简称过程,procedure,是一种用来处理数据(增删改)的方式。简单点,我们也可以将其理解为没有返回值的函数。一般存储过程并不显示结果,而是把结果返回给你指定的变量二、创建过程基本语法create procedure 过程名字([参数列表])begin -- 过程体end如果过程体中只有一条指令,则可以省略 begin 和 end创建一个完整的存储...原创 2018-09-20 16:34:25 · 1570 阅读 · 0 评论 -
MySQL | 自定义函数
一、是什么用户自己定义函数由于设计函数的每一条指令都是一个独立的个体,因此需要语句结束符,因为函数是一个整体,且不能被中断。MySQL 一旦见到语句结束符就会自动开始执行解决方案在定义函数之前,修改临时的语句结束符 ;在 MySQL 中使用 delimiter 来修改临时语句结束符。默认情况下,delimiter是分号 ; 在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysq...原创 2018-09-20 16:40:25 · 3120 阅读 · 0 评论 -
MySQL | 函数的流程控制
1.if基本语法if 条件判断 then -- 满足条件时,要执行的代码end if;符号语法if 条件判断 then -- 满足条件,要执行的代码else -- 不满足条件,要执行的代码 if 条件判断 then //如果需要 -- 满足条件,要执行的代码 end if;end if;2.while循环...原创 2018-09-20 16:45:09 · 262 阅读 · 0 评论 -
索引单表、双表、三表优化
一、索引单表优化1.建表、插入、查询数据先建立一张表我们在里面插入数据先不建立索引,当我们使用以下语句进行查询时,可以先分析一下性能explain select id,author_id from article where category_id = 1 and comments > 1 order by views desc limit 1;可以看到,type 的类型...原创 2018-10-11 21:42:51 · 1715 阅读 · 2 评论 -
MySQL | 七种JOIN
七种 join准备两张表1.内连接select * from tbl_emp a inner join tbl_dept b on a.deptId = b.id;2.左连接select * from tbl_emp a left join tbl_dept b on a.deptId = b.id;3.左表独有select * from tbl_emp a le...原创 2018-10-08 00:38:38 · 194 阅读 · 0 评论 -
索引优化
一、最佳左前缀法则左前缀法则指的是:查询从索引的最左前列开始并且不跳过索引中的列建立一个表,并且在三个字段建立索引然后我们对索引进行查询1.explain select * from staffs where name = 'aaa';可以看到使用到了索引2.explain select * from staffs where name = 'aaa' and age = 2...原创 2018-10-21 22:43:27 · 232 阅读 · 0 评论