MySQL 【进阶查询】】的更多相关文章

学习笔记,来源:实验楼 ,链接: https://www.shiyanlou.com/courses/9   一.日期计算: 1.要想确定每个宠物有多大,可以使用函数TIMESTAMPDIFF()计算当前日期的年和出生日期之间的差也可以按照直接使用语句(YEAR(CURDATE())-YEAR(birth))计算,其中函数CURDATE()是计算当前的日期.如果当前日期的日历年比出生日期早,则减去一年.以下代码是查询每个宠物的出生日期.当前日期和年龄(以年作为计算单位),其中关键字age是年龄这…
python进阶09 MySQL高级查询 一.筛选条件 # 比较运算符 # 等于:= 不等于:!= 或<> 大于:> 小于:< 大于等于>= 小于等于:<= #空:IS NULL 非空:IS NOT NULL # NULL 的查询比较特殊,只有在条件里加上IS NULL 或IS NOT NULL 才能够查询出NULL #逻辑运算符 #与:AND 或:OR 非:NOT 范围查询 BETWEEN a AND b SELECT * FROM students WHERE ag…
MySQL进阶--分组排序和分组查询 group by(having) /order by /* 介绍分组函数 功能:用做统计使用,又称为聚合函数或组函数 1.分类: sum, avg 求和 /平均数, 只处理数值型,都绝对忽略NULL值(avg处理时统计的个数没有null项) max ,min ,可以求字符串最大最小 ,可以匹配日期,都绝对忽略NULL值 count ,不计算NULL ,不把null算进数里 #2. 参数支持类型 SELECT MIN(last_name) ,MAX(last_…
数据类型介绍 整型 tinyint, # 占1字节,有符号:-128~127,无符号位:0~255 smallint, # 占2字节,有符号:-32768~32767,无符号位:0~65535 mediumint,# 占3字节,有符号:-8388608~8388607,无符位:0~16777215 int, # 占4字节,有符号:-2147483648~2147483647,无符号位:0~4284967295 bigint,# 占8字节 bool 等价于tinyint(1) 布尔型 浮点型 fl…
本文源码:GitHub·点这里 || GitEE·点这里 一.高性能索引 1.查询性能问题 在MySQL使用的过程中,所谓的性能问题,在大部分的场景下都是指查询的性能,导致查询缓慢的根本原因是数据量的不断变大,解决查询性能的最常见手段是:针对查询的业务场景,设计合理的索引结构. 2.索引使用原则 索引的使用并不是越多越好,而是针对业务下的查询场景,不断的改进和优化,例如电商系统中用户订单的场景,假设存在如下表结构: CREATE TABLE `ds_user` ( `id` int(11) NO…
MySQL进阶 知识点梳理 一.约束 1. 外键约束 为什么要有外键约束 例如:一个user表,一个orderlist 如果现在想要直接删除id为1的张三,但是orderlist里还有用户id为1的订单数据,这样合理么? 给uid添加外键约束之后,uid就是外键列 如果与另外的一张表的主键有关联关系,那么这一列就是外键列 建表语句 -- 创建db2数据库CREATE DATABASE db2;-- 使用db2数据库USE db2;​-- 创建user用户表CREATE TABLE USER( i…
知识点十一:MySQL 慢查询的应用(23) 一.慢查询定义 MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为慢查询. 查看时间限制 show variables like '%long%'; 如果查询超过long_query_time的时间就称为慢查询. 查看数据库的启动时间 show status like 'uptime%'; 查看查询语句条数 show status like 'comeSelect'; 获取连接数 show status like 'con…
mysql进阶(二十九)常用函数 一.数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP(x) 返回值e(自然对数的底)的x次方 FLOOR(x) 返回小于x的最大整数值 GREATEST(x1,x2,-,xn)返回集合中最大的值 LEAST(x1,x2,-,xn) 返回集合中最小的值1 LN(x) 返回x的自然对数 LOG(x,y)返回x的以y为底的对数 MOD(x,y) 返回x/y…
mysql进阶(二十八)MySQL GRANT REVOKE用法   MySQL的权限系统围绕着两个概念: 认证->确定用户是否允许连接数据库服务器: 授权->确定用户是否拥有足够的权限执行查询请求等.   如果认证不成功的话,那么授权肯定是无法进行的.   revoke 跟 grant 的语法差不多,只需要把关键字 "to" 换成 "from".   表 GRANT和REVOKE管理的权限   如果你想允许用户myuser从ip为192.168.1.6…
mysql进阶(二十七)数据库索引原理 前言   本文主要是阐述MySQL索引机制,主要是说明存储引擎Innodb.   第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础.   第二部分结合MySQL数据库中InnoDB数据存储引擎中索引的架构实现讨论聚集索引.非聚集索引及覆盖索引等话题.   第三部分讨论MySQL中高性能使用索引的策略. 一.数据结构及算法理论   Innodb存储引擎实现索引的数据结构是B+树,下面介绍几种数据结构,一步步阐述为什么要使用B+树. 1.…