mysql
鸟飞惊了看花人
这个作者很懒,什么都没留下…
展开
-
MySQL基础 DDL,DML,DQL,DCL --小丑
MySQL基本操作之DDL(数据定义语言),DML(数据操纵语言),DQL(数据查询语言),DCL(数据控制语言)一、DDL–数据定义语言作用:数据定义语言主要用来定义数据库中的各类对象,包括用户、库、表、视图、索引、触发器、事件、存储过程和函数等。常见的DDL操作的基本用法如下: CREATE USER #创建用户 CREATE DATABASE ...转载 2019-03-20 14:15:27 · 1090 阅读 · 0 评论 -
SQL 执行 底层原理(一)
一、SQL Server组成部分1.关系引擎:主要作用是优化和执行查询。包含三大组件:(1)命令解析器:检查语法和转换查询树。(2)查询执行器:优化查询。(3)查询优化器:负责执行查询。2.存储引擎:管理所有数据及涉及的IO包含三大组件:(1)事务管理器:通过锁来管理数据及维持事务的ACID属性。(2)数据访问方法:处理对行、索引、页、行版本、空间分配等的I/O请求。(3)缓...转载 2019-04-23 19:25:03 · 3290 阅读 · 0 评论 -
SQL语句执行过程详解
一、SQL语句执行原理:第一步:客户端把语句发给服务器端执行当我们在客户端执行select语句时, 客户端会把这条SQL语句发送给服务器端,让服务器端的进程来处理这语句。也就是说,Oracle客户端是不会做任何的操作,它的主要任务就是把客户端产生的一些SQL语句发送给服务器端。虽然在客户端也有一个数据库进程,但是,这个进程的作用跟服务器上的进程作用不同。服务器上的数据库进程才会对SQL语句进行...转载 2019-04-23 19:31:57 · 427 阅读 · 0 评论 -
MySQL 8 新特性
MySQL 8.0 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!注意:从 MySQL 5.7 升级到 MySQL 8.0 仅支持通过使用 in-place 方式进行升级,并且不支持从 MySQL 8.0 降级到 MySQL 5.7(或从某个 MySQL 8.0 版本降级到任意一个更早的 MySQL 8.0 版本)...转载 2019-04-24 10:22:30 · 453 阅读 · 0 评论 -
MySQL 架构及优化原理 详解
MySQL逻辑架构MySQL逻辑架构整体分为三层 :客户端 : 并非MySQL所独有,诸如 : 连接处理、授权认证、安全等功能均在这一层处理核心服务 :包括查询解析、分析、优化、缓存、内置函数(比如 : 时间、数学、加密等函数),所有的跨存储引擎的功能也在这一层实现 :存储过程、触发器、视图等存储引擎 : 负责 MySQL 中的数据存储和提取,和 Linux下的文件系统类似,每种存储引...转载 2019-04-30 16:01:12 · 627 阅读 · 0 评论 -
掌握MySQL的锁机制
MySQL中的锁机制,按粒度分为行级锁,页级锁,表级锁,其中按用法还分为共享锁和排他锁.行级锁行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突。其加锁粒度最小,但加锁的开销也最大。行级锁分为共享锁和排他锁.特点开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。用法共享锁(s 锁 读锁)用法:se...转载 2019-05-19 16:32:48 · 854 阅读 · 1 评论 -
如何查看MySQL的版本
查看MySQL的版本,主要有以下几个方法:1.没有连接到MySQL服务器,就想查看MySQL的版本。打开cmd,切换至mysql的bin目录,运行下面的命令即可:e:\mysql\bin>mysql -Vmysql Ver 14.14 Distrib 5.6.32, for Win32 (AMD64)(版本为 5.6.32)或者:e:\mysql\bin>mysql -...转载 2019-05-19 17:01:28 · 10428 阅读 · 0 评论 -
mysql 主从原理介绍
1、什么是mysql主从同步?当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库。2、主从同步有什么好处?水平扩展数据库的负载能力。容错,高可用。Failover(失败切换)/High Availability数据备份。3、主从同步的原理是什么?首先我们来了解master-slave的体系结构。不管是delete、update、insert,还是创建函...转载 2019-05-10 09:17:07 · 2598 阅读 · 0 评论 -
mysql数据库分表及实现
项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。当出现这种情况时,我们可以考虑分表,即将单个数据库表进行拆分,拆分成多个数据表,然后用户访问的时候,根据一定的算法,让用户访问不同的表,这样数据分散到多个数据表中,减少了单个数据表的访问压力。提升了数据库访问性能。我们可以进行简单的设想:现...转载 2019-05-29 17:50:59 · 416 阅读 · 0 评论 -
mysql数据库分表及查询
垂直分表:其实没啥好讲,就是 主键+常用列 放在原表中,再讲 主键+一些不常用列 放在另外的表中。这样一个数据页就可以存放更多数据。 但是缺点也明显,可能会增加join 或 union之类的操作。水平分表:原则:具体情况具体分析。常见几种分法:1、按时间分典型应用:新闻类、qq状态、朋友圈动态等关注实时或最近的,可以用时间划分,比如当月一张表,上个月一张表。2、按区间分通常每张表...转载 2019-05-29 18:04:55 · 2669 阅读 · 0 评论 -
mysql 表属性操作随笔
语句 set names utf8;用于设定数据库编码,让中文可以正常显示。创建数据库: CREATE DATABASE `database` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci '; 创建表:CREA...转载 2019-06-02 13:25:43 · 618 阅读 · 0 评论 -
mysql 处理大数据_分页
MySQL数据库优化处理实现千万级快速分页分析,来看下吧。数据表 collect ( id, title ,info ,vtype) 就这4个字段,其中 title 用定长,info 用text, id 是逐渐,vtype是tinyint,vtype是索引。这是一个基本的新闻系统的简单模型。现在往里面填充数据,填充10万篇新闻。最后collect 为 10万条记录,数据库表占用硬盘1.6G。O...转载 2019-06-02 16:16:00 · 1715 阅读 · 0 评论 -
Navicat 简单使用
2019年7月24 38度的大晴天 星期三首先连接上MYSQL数据库。1、创建数据库:选中连接名,右键,点击新建数据库。2、删除数据库:选中要删除的数据库,右键,点击删除数据库3、创建数据表:双击test01,选中表,右键,新建表4、修改数据表:选中数据表,右键,设计表,然后跟创建表里的操作一样去编辑字段,数据类型,完整性约束等。5:、删除数据表:选中要删除的数...转载 2019-07-24 14:52:27 · 543 阅读 · 0 评论 -
MySQL 几种连表查询详解
第一步:首先介绍表连接分类(内连接,外连接,交叉连接)和连接方法(如下):A)内连接:join,inner joinB)外连接:left join,left outer join,right join,right outer join,unionC)交叉连接:cross join第二步:建表两张users表,success表第三步,写SQL,测试结果内连接(只有一种场景)inner ...原创 2019-08-05 17:22:40 · 9771 阅读 · 0 评论 -
常用的SQL语句整理
增增加一张表CREATE TABLE `table_name`( ... )ENGINE=InnoDB DEFAULT CHARSET=utf8;增加记录INSERT INTO `your_table_name`(`column_name`)VALUES('your_value_one'),('your_value_two');增加字段ALTER TABLE `you...原创 2019-08-08 09:55:44 · 364 阅读 · 0 评论 -
mysql 外键 详解与使用
一、基本概念MySQL中“键”和“索引”的定义相同,所以外键和主键一样也是索引的一种。不同的是MySQL会自动为所有表的主键进行索引,但是外键字段必须由用户进行明确的索引。用于外键关系的字段必须在所有的参照表中进行明确地索引,InnoDB不能自动地创建索引。外键可以是一对一的,一个表的记录只能与另一个表的一条记录连接,或者是一对多的,一个表的记录与另一个表的多条记录连接。如果需要...转载 2019-04-18 11:34:26 · 1220 阅读 · 0 评论 -
数据库建表三范式
1.第一范式(确保每列保持原子性)【属性不可分】第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第一范式的合理遵循需要根据系统的实际需求来定。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。但是如果系统经常会访问“地址”属性中的“城市”部分,那么就非要将“地址”这个属性重新拆分为省份、城市...转载 2019-04-17 18:22:27 · 1226 阅读 · 0 评论 -
myisam和innodb索引实现的不同
MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。下图是MyISAM索引的原理图:这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索引(Primary key)示意。可以看出MyISAM的索引文件仅仅保存数据记录的地址。在MyISAM中,主索引和辅助索引(Secondary key)在结构上没有任何区别,只是主索引要求key是唯...转载 2019-04-17 18:14:46 · 464 阅读 · 0 评论 -
MySQL 错误日志(Error Log) --小丑
同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等。这些日志可以帮助我们定位mysqld内部发生的事件,数据库性能故障,记录数据的变更历史,用户恢复数据库等等。本文主要描述错误日志文件。1、MySQL日志文件系统的组成a、错误日志:记录启动、运行或停止mysqld时出现的问题。b、通...转载 2019-03-18 11:58:11 · 819 阅读 · 0 评论 -
MySQL慢查询日志总结 --小丑
慢查询日志概念MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参...转载 2019-03-18 12:22:02 · 360 阅读 · 0 评论 -
mysql优化 explain分析sql语句执行效率 --小丑
mysql优化(三)–explain分析sql语句执行效率Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。Explain语法:explain select … from … [where …]explain select * from...转载 2019-03-18 13:37:48 · 296 阅读 · 0 评论 -
MySQL 二进制日志 --小丑
2017-03-24 12:28 by 潇湘隐者, 9233 阅读, 6 评论, 收藏, 编辑二进制日志简单介绍MySQL的二进制日志(binary log)是一个二进制文件,主要用于记录修改数据或有可能引起数据变更的MySQL语句。二进制日志(binary log)中记录了对MySQL数据库执行更改的所有操作,并且记录了语句发生时间、执行时长、操作数据等其它额外信息,但是它不记录SELECT...转载 2019-03-18 19:07:08 · 1102 阅读 · 0 评论 -
MySQL 优化笔记(一) --小丑
在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num...转载 2019-03-18 19:27:16 · 287 阅读 · 0 评论 -
mysql 事物 隔离级别 --小丑
事务在执行SQL语句的时候,某些业务要求,一系列操作必须全部执行,而不能仅执行一部分。例如,一个转账操作:-- 从id=1的账户给id=2的账户转账100元-- 第一步:将id=1的A账户余额减去100UPDATE accounts SET balance = balance - 100 WHERE id = 1;-- 第二步:将id=2的B账户余额加上100UPDATE accoun...转载 2019-03-23 10:14:31 · 189 阅读 · 0 评论 -
mysql 存储引擎简介 --小丑
在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库。而在设计表的时候,我们都会关注一个问题,使用什么存储引擎。等一下,存储引擎?什么是存储引擎?什么是存储引擎?MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或...转载 2019-03-27 07:38:01 · 13636 阅读 · 1 评论 -
MyISAM和InnoDB区别 --小丑
前言MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM。Inno...转载 2019-03-27 07:42:53 · 206 阅读 · 0 评论 -
MEMORY(mysql存储引擎) --小丑
MEMORY是MySQL中一类特殊的存储引擎。它使用存储在内存中的内容来创建表,而且数据全部放在内存中。这些特性与前面的两个很不同。每个基于MEMORY存储引擎的表实际对应一个磁盘文件。该文件的文件名与表名相同,类型为frm类型。该文件中只存储表的结构。而其数据文件,都是存储在内存中,这样有利于数据的快速处理,提高整个表的效率。值得注意的是,服务器需要有足够的内存来维持MEMORY存储引擎的表的...转载 2019-03-27 07:49:23 · 3700 阅读 · 0 评论 -
数据库 索引的优点和缺点
索引:为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 第五...转载 2019-04-12 20:29:42 · 8420 阅读 · 1 评论 -
数据库 事物与隔离级别
概述事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。ACID事务具有4个基本特征,分别是:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Duration),简称ACID。隔离级别ACID这4个特征中,最难理解的是隔离性。在标准SQL规范中,定义了4个事务隔离级别,不同的隔离级别对...转载 2019-04-12 20:57:31 · 332 阅读 · 0 评论 -
sql语句的执行顺序
SQL 语句的语法顺序和其执行顺序完全不一样执行顺序为:FROM joinonWHERE GROUP BY HAVING SELECT DISTINCT UNION ORDER BY limit1、 FROM 是 SQL 语句执行的第一步,并非 select 。数据库在执行 SQL 语句的第一步是将数据从硬盘加载到数据缓冲区中,以便对这些数据进行操作。2、 SELECT...转载 2019-04-03 18:38:38 · 288 阅读 · 0 评论 -
SQL注入 详解 有图有真相
在网上找了一篇关于sql注入的解释文章,还有很多技术,走马观花吧文章来源:http://www.2cto.com/article/201310/250877.html问:大家知道骇客们攻击网站主要有哪些手法?SQL注入,旁注,XSS跨站,COOKIE欺骗,DDOS,0day 漏洞,社会工程学 等等等等,只要有数据交互,就会存在被入侵风险!哪怕你把网线拔掉,物理隔绝,我还可以利用传感器捕捉电磁...转载 2019-04-14 20:08:50 · 7306 阅读 · 0 评论 -
mysql 索引类型以及创建
文章归属:http://feiyan.info/16.html,我想自己去写了,但是发现此君总结的非常详细。直接搬过来了关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是以...转载 2019-04-17 16:42:59 · 398 阅读 · 0 评论 -
MySQL 索引
MySQL 索引MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。创建索引时,你需要确保该索...转载 2019-04-17 18:04:36 · 6195 阅读 · 0 评论 -
远程连接 MySQL 失败
问题描述 远程连接 MySQL 服务器失败报以下错误host 192.168.23.1 is not allowed to connect to mysql server 解决方案在服务器端打开 MySQL 服务器进行权限授权# 授权grant all privileges on *.* to 'root'@'192.168.23.1' identified by 'root'...原创 2019-08-08 16:43:48 · 308 阅读 · 0 评论