Mysql
文章平均质量分 57
Mysql小海豚
奋斗在阿尔卑斯的皮卡丘
这个作者很懒,什么都没留下…
展开
-
Kibana中KQL的使用
简单查询简单查询就是 关键字匹配、字符串包含等,比如说如下语句会找出 name 字段是 banana 的所有数据:name: banana但是如果 name 包含 peach 和 peach test,然后下面两个语句查出来会是两个结果。name: peach test上述查询会将 name 是 peach 和 name 是 peach test 的都给查出来name: "peach test"上述查询只会将 peach test 查出来,因为如果不加引号会自动关键字分词,将包含该关键字转载 2021-02-07 15:28:42 · 5324 阅读 · 0 评论 -
HAVING COUNT(*) > 1的用法和理解
作用是保留包含多行的组。复制代码SELECT class.STUDENT_CODEFROM crm_class_schedule classGROUP BY class.STUDENT_CODEHAVING count(*) > 1复制代码执行结果是将[crm_class_schedule]表中[STUDENT_CODE]字段重复的数据显示出来。像下面的问题就可以直接使用:问题:查询Table1中num字段有重复的记录。...转载 2020-12-07 17:51:57 · 18738 阅读 · 1 评论 -
MySql学习架构介绍笔记9:查询截取分析
慢查询日志是什么MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的语句。由他来查看哪些SQL超出了我们的最大忍耐时间值,比如一条sql执行超过5秒钟,我们就算慢SQL,希望能收集超过5秒的sql,结合转载 2020-09-07 16:56:34 · 109 阅读 · 0 评论 -
MySql学习架构介绍笔记8:索引优化分析4-查询优化
批量数据脚本往表里插入50W数据建表 CREATE TABLE `dept` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30) DEFAULT NULL, `address` VARCHAR(40) DEFAULT NULL, ceo INT NULL , PRIMARY KEY (`id`)) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; CRE转载 2020-09-07 16:42:18 · 162 阅读 · 0 评论 -
MySql学习架构介绍笔记7:索引优化分析3-性能分析
Explain是什么(查看执行计划)使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈能干嘛表的读取顺序哪些索引可以使用数据读取操作的操作类型哪些索引被实际使用表之间的引用每张表有多少行被物理查询怎么玩Explain + SQL语句执行计划包含的信息建表脚本 CREATE TABLE t1(id INT(10) AUTO_INCREMENT,content VARCHAR(100)转载 2020-09-07 15:47:59 · 122 阅读 · 0 评论 -
MySql学习架构介绍笔记6:索引优化分析2-索引简介
是什么MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要a----z,如果我想找到Java开头的单词呢?或者Oracle开头的单词呢?是不是觉得如果没有索引,这个事情根本无法完成?你可以简单理解为“排好序的快速查找数据结构”。详解在数据之外,数据库系转载 2020-09-07 14:45:09 · 113 阅读 · 0 评论 -
MySql学习架构介绍笔记5:索引优化分析1-SQL预热:常见通用的Join查询
性能下降SQL慢 执行时间长 等待时间长数据过多:分库分表关联了太多的表,太多join:SQL优化没有充分利用到索引:索引建立服务器调优及各个参数设置:调整my.cnfSQL预热:常见通用的Join查询Join图建表SQLCREATE TABLE `t_dept` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30) DEFAULT NULL, `address` VARCHAR(40) DEFAULT NU转载 2020-09-04 17:36:09 · 186 阅读 · 0 评论 -
MySql学习架构介绍笔记4:存储引擎
查看命令1 如何用命令查看#看你的mysql现在已提供什么存储引擎:mysql> show engines;#看你的mysql当前默认的存储引擎:mysql> show variables like '%storage_engine%';各种引擎介绍1、InnoDB存储引擎InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。2、MyISAM存储引转载 2020-09-04 09:43:45 · 115 阅读 · 0 评论 -
MySql学习架构介绍笔记3:逻辑架构介绍
总体概览和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。1.连接层最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在转载 2020-09-04 09:33:56 · 150 阅读 · 0 评论 -
MySql学习架构介绍笔记2:一些杂项配置
MySQL的sql_mode合理设置sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入。在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题。show variables like 'sql_mode';sql_mode常用值如下:set sql_mode='ONLY_FULL_GROUP_BY';ONLY_FULL_GROUP_BY:对于GROUP BY聚合操作,转载 2020-09-03 15:20:39 · 109 阅读 · 0 评论 -
MySql学习架构介绍笔记1:用户与权限管理
MySQL的用户管理创建用户表示创建名称为zhang3的用户,密码设为123123;create user zhang3 identified by '123123';了解user表查看用户select host,user,authentication_string,select_priv,insert_priv,drop_priv from mysql.user;host : 表示连接类型% 表示所有远程通过 TCP方式的连接IP 地址 如 (192.168.1.2,127转载 2020-09-03 15:12:37 · 133 阅读 · 0 评论 -
MySql学习事务笔记1:事务的讲解
事务概念:由一条或多条sql语句组成,要么都成功,要么都失败特性:ACID原子性:事务中所有操作是不可再分割的原子单位。事务中所有操作要么全部执行成功,要么全部执行失败。一致性:事务执行后,数据库状态与其它业务规则保持一致。如转账业务,无论事务执行成功与否,参与转账的两个账号余额之和应该是不变的。隔离性:隔离性是指在并发操作中,不同事务之间应该隔离开来,使每个并发中的事务不会相互干扰。持久性:一旦事务提交成功,事务中所有的数据操作都必须被持久化到数据库中,即使提交事务后,数据库马上崩溃,在数据转载 2020-08-31 17:58:38 · 131 阅读 · 0 评论 -
MySql学习DML语言笔记1:数据处理语句
DMLDML(Data Manipulation Language)数据操纵语言:insert update delete对表中的数据的增删改一、数据 的插入语法:插入单行:insert into 表名(字段名1,字段名2 ,...) values (值1,值2,...);插入多行:insert into 表名(字段名1,字段名2 ,...) values (值1,值2,...),(值1,值2,...),(值1,值2,...);特点:①字段和值列表一一对应包含类型、约束等必须转载 2020-08-31 17:34:52 · 166 阅读 · 0 评论 -
MySql学习DDL语言笔记1:库和表的管理
DDL语言说明:Data Define Language数据定义语言,用于对数据库和表的管理和操作库的管理一、创建数据库CREATE DATABASE stuDB;CREATE DATABASE IF NOT EXISTS stuDB;二、删除数据库DROP DATABASE stuDB;DROP DATABASE IF EXISTS stuDB;表的管理一、创建表 ★语法:CREATE TABLE [IF NOT EXISTS] 表名( 字段名 字段类型 【字段约束】,转载 2020-08-31 15:20:53 · 123 阅读 · 0 评论 -
MySql学习DQL语言笔记10:联合查询
进阶9:联合查询说明:当查询结果来自于多张表,但多张表之间没有关联,这个时候往往使用联合查询,也称为union查询语法:select 查询列表 from 表1 where 筛选条件 unionselect 查询列表 from 表2 where 筛选条件 特点:1、多条待联合的查询语句的查询列数必须一致,查询类型、字段意义最好一致2、union实现去重查询union all 实现全部查询,包含重复项#案例:查询所有国家的年龄>20岁的用户信息SELECT * FROM转载 2020-08-31 11:34:38 · 156 阅读 · 0 评论 -
MySql学习DQL语言笔记9:分页查询
进阶8:分页查询应用场景:当页面上的数据,一页显示不全,则需要分页显示分页查询的sql命令请求数据库服务器——>服务器响应查询到的多条数据——>前台页面语法:select 查询列表from 表1 别名join 表2 别名on 连接条件where 筛选条件group by 分组having 分组后筛选order by 排序列表limit 起始条目索引,显示的条目数执行顺序:1》from子句2》join子句3》on子句4》where子句5》group by子句转载 2020-08-31 11:16:23 · 153 阅读 · 0 评论 -
MySql学习DQL语言笔记8:子查询
子查询说明:当一个查询语句中又嵌套了另一个完整的select语句,则被嵌套的select语句称为子查询或内查询外面的select语句称为主查询或外查询。分类:按子查询出现的位置进行分类:1、select后面要求:子查询的结果为单行单列(标量子查询)2、from后面要求:子查询的结果可以为多行多列3、where或having后面 ★要求:子查询的结果必须为单列单行子查询多行子查询4、exists后面要求:子查询结果必须为单列(相关子查询)特点:1、子查询放在条件中,要求必转载 2020-08-24 17:04:40 · 140 阅读 · 0 评论 -
MySql学习DQL语言笔记7-1:外连接之创建girls库
/*SQLyog Ultimate v10.00 Beta1MySQL - 5.7.18-log : Database - girls**********************************************************************//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQ转载 2020-08-24 16:26:38 · 175 阅读 · 0 评论 -
MySql学习DQL语言笔记7:连接查询
进阶6:连接查询说明:又称多表查询,当查询语句涉及到的字段来自于多个表时,就会用到连接查询笛卡尔乘积现象:表1 有m行,表2有n行,结果=m*n行发生原因:没有有效的连接条件如何避免:添加有效的连接条件分类:按年代分类:1、sql92标准:仅仅支持内连接内连接:等值连接非等值连接自连接2、sql99标准【推荐】:支持内连接+外连接(左外和右外)+交叉连接按功能分类:内连接:等值连接非等值连接自连接外连接:左外连接右外连接全外连接交叉连接转载 2020-08-24 13:53:42 · 198 阅读 · 0 评论 -
MySql学习DQL语言笔记6:分组查询
#进阶6:分组查询/*语法:select 查询列表from 表名where 筛选条件group by 分组列表having 分组后筛选order by 排序列表;执行顺序:①from子句②where子句③group by 子句④having子句⑤select子句⑥order by子句特点:①查询列表往往是 分组函数和被分组的字段 ★②分组查询中的筛选分为两类 筛选的基表 使用的关键词 位置分组前筛选 原始表 where group by 的前面转载 2020-08-21 17:37:30 · 297 阅读 · 0 评论 -
MySql学习DQL语言笔记5:分组函数(聚合函数)
#进阶5:分组函数/*说明:分组函数往往用于实现将一组数据进行统计计算,最终得到一个值,又称为聚合函数或统计函数分组函数清单:sum(字段名):求和avg(字段名):求平均数max(字段名):求最大值min(字段名):求最小值count(字段名):计算非空字段值的个数*/#案例1 :查询员工信息表中,所有员工的工资和、工资平均值、最低工资、最高工资、有工资的个数SELECT SUM(salary),AVG(salary),MIN(salary),MAX(salary),COUNT(s转载 2020-08-21 17:27:12 · 144 阅读 · 0 评论 -
MySql学习DQL语言笔记4:常见函数
#进阶4:常见函数/*函数:类似于java中学过的“方法”,为了解决某个问题,将编写的一系列的命令集合封装在一起,对外仅仅暴露方法名,供外部调用1、自定义方法(函数)2、调用方法(函数)★ 叫什么 :函数名 干什么 :函数功能常见函数:单行函数 字符函数 concat substr length(str) char_length upper lower trim left right lpad rpad instr strcmp转载 2020-08-21 14:34:15 · 137 阅读 · 0 评论 -
MySql学习DQL语言笔记3:排序查询
#进阶3:排序查询/*语法:select 查询列表from 表名【where 筛选条件】order by 排序列表执行顺序:①from子句②where子句③select子句④order by 子句举例:select last_name,salaryfrom employeeswhere salary>20000order by salary ;select * from employees;特点:1、排序列表可以是单个字段、多个字段、表达式、函数、列数、以转载 2020-08-21 14:30:39 · 125 阅读 · 0 评论 -
MySql学习DQL语言笔记2:条件查询
#进阶二:条件查询/*语法:select 查询列表from 表名where 筛选条件;执行顺序:①from子句②where子句③select子句select last_name,first_name from employees where salary>20000;特点:1、按关系表达式筛选关系运算符:> < >= <= = <> 补充:也可以使用!=,但不转载 2020-08-21 14:29:18 · 157 阅读 · 0 评论 -
MySql学习DQL语言笔记1:基础查询
#进阶一:基础查询/*语法:select 查询列表 from 表名;特点:1、查询的结果集 是一个虚拟表2、select 查询列表 类似于System.out.println(打印内容);select后面跟的查询列表,可以有多个部分组成,中间用逗号隔开例如:select 字段1,字段2,表达式 from 表;System.out.println()的打印内容,只能有一个。3、执行顺序① from子句② select子句4、查询列表可以是:字段、表达式、常量、函数等转载 2020-08-21 14:26:04 · 187 阅读 · 0 评论 -
mysql1050错误:表已经存在
今天做练习,创建库,修改表的时候,一直报表已经存在的错误pymysql.err.InternalError: (1050, "Table 'usermodel' already exists")The above exception was the direct cause of the following exception:Traceback (most recent call last): File "manage.py", line 20, in <module>原创 2020-06-02 10:10:36 · 3865 阅读 · 0 评论 -
MySql MediumBlob——MySql的Bolb四种类型
MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。BLOB类型实际是个类型系列(TinyBlob、Blob、MediumBlob、LongBlob),除了在存储的最大信息量上不同外,他们是等同的。MySQL的四种BLOB类型类型 大小(单位:字节)TinyBlob 最大 255Blob 最大 65KMediumBlob 最大 16MLongBlob原创 2020-05-26 11:20:08 · 3752 阅读 · 0 评论 -
Mysql外键设置中的CASCADE、NO ACTION、RESTRICT、SET NULL
在设置外键的时候,删除时和更新时两列有四个值可以选择:CASCADE、NO ACTION、RESTRICT、SET NULL,自己全亲自试了一遍,它们的区别如下:CASCADE:父表delete、update的时候,子表会delete、update掉关联记录;SET NULL:父表delete、update的时候,子表会将关联记录的外键字段所在列设为null,所以注意在设计子表时外键不能设为not null;RESTRICT:如果想要删除父表的记录时,而在子表中有关联该父表的记录,则不允许删除父表中的原创 2020-05-19 14:38:20 · 279 阅读 · 0 评论