
MySQL
文章平均质量分 81
小柴的生活观
重来一次认真的阅读和写作!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL数据库 详解
数据类型1> 整数类型 (1)指定类型显示宽度:数据类型(显示宽度) 如:INT(4) (2)ZEROFILL 属性:用于数据不足的显示空间由0来填补,可以大量用于所谓“流水号”的生成上 如:CREATE TABLE t1(id INT(6)原创 2016-03-15 11:48:41 · 5388 阅读 · 0 评论 -
MySQL count(1) count(*) 比较 详解
count(*) 将返回表格中所有存在的行的总数包括值为 null 的行,然而 count(列名) 将返回表格中除去 null 以外的所有行的总数 (有默认值的列也会被计入),这点对于所有数据的 COUNT 计算都是一样的count(1) 与 count(*) 比较 :1> 如果数据表没有主键,那么 count(1) 比 count(*) 快2> 如果有主键的话,那主键 (联合主键) ...原创 2018-03-24 12:44:31 · 26057 阅读 · 3 评论 -
Docker 搭建 MySQL 详解
1> 获取镜像 : 直接从 Docker Hub 上拉取 MySQL在 Docker Hub 或者 Docker Store 上搜索 MySQL 官方版使用相应的 pull 指令拉取 MySQL 镜像$ docker pull mysql2> 创建数据和日志目录,以及 mysql 配置文件# 创建存储目录$ cd /opt/datas/docker$ mkdir mysql mysql...原创 2018-03-24 12:45:28 · 1595 阅读 · 0 评论 -
MySQL 索引 详解
用于快速查询数据库表中的数据优点 : 提高检索数据的速度缺点 : 索引需要占用物理空间,因此在增加、删除、修改数据时会造成维护速度降低MySQL 种索引类型1> 普通索引 : CREATE INDEX index_name ON table(column(length))2> 唯一索引 : CREATE UNIQUE INDEX indexName ON table(column(le...原创 2018-03-24 13:08:45 · 545 阅读 · 0 评论 -
MySQL insert ignore into、replace into、insert into、on duplicate key update 详解
创建测试表mysql> CREATE TABLE books(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) UNIQUE,remark VARCHAR(100));mysql> INSERT INTO books(name,remark) VALUES('MySQL of actual combat','MySQL of actu...原创 2018-03-24 13:11:16 · 1098 阅读 · 0 评论 -
MySQL 执行计划 详解
开启 profile 工具mysql> SHOW VARIABLES LIKE '%profil%';+------------------------+-------+| Variable_name | Value |+------------------------+-------+| have_profiling | YES || profilin...原创 2018-03-24 13:12:40 · 305 阅读 · 0 评论 -
MySQL 架构及优化原理 详解
MySQL逻辑架构MySQL逻辑架构整体分为三层 :1> 客户端 : 并非MySQL所独有,诸如 : 连接处理、授权认证、安全等功能均在这一层处理2> 核心服务 : 包括查询解析、分析、优化、缓存、内置函数(比如 : 时间、数学、加密等函数),所有的跨存储引擎的功能也在这一层实现 : 存储过程、触发器、视图等3> 存储引擎 : 负责 MySQL 中的数据存储和提取,和 Linux...原创 2018-03-24 13:17:27 · 11866 阅读 · 3 评论 -
MySQL IS NOT NULL、!=NULL、ISNULL() 详解
NULL 表示什么也不是,不能 =、>、< … 所有的判断,结果都是false,所有只能用 IS NULL 进行判断默认情况下,推荐使用 IS NOT NULL去判断,因为 SQL 默认情况下对 !=NULL 的判断会永远返回 0 行,但没有语法错误如果一定想要使用 !=NULL 来判断,需要加上这个语句 :SET ANSI_NULLS OFF这时会发现 IS NOT NULL 和 !...原创 2018-03-25 11:20:53 · 29848 阅读 · 0 评论 -
MySQL 创建定时任务 详解
自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务,来取代原先只能由操作系统的计划任务来执行的工作。事件调度器有时也可称为临时触发器(temporal triggers),因为事件调度器是基于特定时间周期触发来执行某些任务,而触发器(Triggers)是基于某个表所产生的事件触发的,区别也就在这里在使用这个功能之前必须...原创 2018-03-25 11:20:46 · 16858 阅读 · 0 评论 -
MySQL show 详解
1> show tables 或 show tables from database_name : 显示当前数据库中所有表的名称mysql> show tables;+----------------+| Tables_in_test |+----------------+| article || article2 || t_base || t...原创 2018-03-25 11:20:36 · 1236 阅读 · 0 评论 -
MySQL 查看语句运行时间 详解
方法1> 使用 show profiles 进行查看# 查看 profile 是不是打开的,默认是不打开mysql> show variables like "%pro%";+------------------------------------------+-------+| Variable_name | Value |+--...原创 2018-03-25 11:20:25 · 1979 阅读 · 0 评论 -
MySQL CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP 详解
1> CURRENT_TIMESTAMP : 当要向数据库执行 insert操作时,如果有个 timestamp字段属性设为 CURRENT_TIMESTAMP,则无论这个字段有没有set值都插入当前系统时间2> ON UPDATE CURRENT_TIMESTAMP : 使用 ON UPDATE CURRENT_TIMESTAMP 放在 TIMESTAMP 类型的字段后面,在数据发生...原创 2018-03-25 11:20:18 · 13143 阅读 · 0 评论 -
MySQL 分支版本对比 详解
产品价格目标主要功能是否可投入生产Percona Server免费提供 XtraDB 存储引擎的包装器和其他分析工具XtraDB是MariaDB免费扩展 MySQL 以包含 XtraDB 和其他性能改进XtraDB是Drizzle免费提供比 MySQL 更强大的可扩展性和性能改进高可用是Percona Server (包括 XtraDB引擎)XtraDBXtraDB 是一款独立的产品,但它仍被认为...原创 2018-03-25 11:19:59 · 2034 阅读 · 0 评论 -
MySQL 数据库设计规范 详解
1> 数据库涉及字符规范采用 26 个英文字母(区分大小写) 和 0-9 这十个自然数,加上下划线'_'组成,共 63 个字符,不能出现其他字符(注释除外)注 : 1> 以上命名都不得超过 30 个字符的系统限制,变量名的长度限制为 29(不包括标识字符@) 2> 数据对象、变量的命名都采用英文字符,禁止使用中文命名。绝对不要在对象名的字符之间留空格 3&...原创 2018-03-24 12:33:10 · 1091 阅读 · 0 评论 -
MySQL 5.7 时间不兼容问题 详解
MySQL 中 datetime, timestamp, date 的区别日期类型存储空间日志格式日期范围datetime8 bytesYYYY-MM-DD HH:MM:SS1000-01-01 00:00:00 ~ 9999-12-31 23:59:59timestamp4 bytesYYYY-MM-DD HH:MM:SS1970-01-01 00:00:01 ~ 2037-12-31 23:5...原创 2018-03-24 12:11:00 · 8197 阅读 · 0 评论 -
IntelliJ IDEA 配置MySQL数据库 详解
1> 在主界面中,点击右边侧栏的 Database ,在点击 + ,再Data Source 选择数据库2> 填入 Database 数据库名,在输入 User 和 Password ,点击 Test Connection3> 这样表示数据库连接成功4> 这样就会看到数据库连接成功很多人认为配置 Database 就是原创 2016-05-01 00:40:54 · 88179 阅读 · 5 评论 -
MySQL 加密解密 详解
MySQL 数据库内部有多种 加密函数 解密函数被加密的字段的类型需要是 VARBINARY、BLOB 类型 存储AES_ENCRYPT(str,key) : 返回用密钥key对字符串str利用高级加密标准算法加密后的结果,调用AES_ENCRYPT的结果是一个二进制字符串AES_DECRYPT(str,key) : 返回用密钥key对字符串str利用高级加密标准算法解密后的结果mysql>...原创 2018-02-09 09:14:01 · 6927 阅读 · 0 评论 -
MySQL 用户管理 详解
MySQL包括普通用户和root用户,root用户是超级管理员拥有所有权限1> 新建用户<1> 创建普通用户,语法格式 : CREATE USER user [IDENTIFIED BY [PASSWORD] 'password'] [,user [IDENTIFIED BY [PASSWORD] 'password']]...mysql> CREATE USER 'tes...原创 2018-03-08 21:11:36 · 405 阅读 · 0 评论 -
MySQL 存储引擎 详解
存储引擎<1> 查询系统中支持的存储引擎mysql> SHOW ENGINES;+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+| Engine ...原创 2018-03-15 20:26:53 · 197 阅读 · 0 评论 -
MySQL 主从复制 详解
目前,大部分的主流关系型数据库都提供主从热备功能,通过配置两台 (或多台) 数据库的主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上。网站可以利用数据库的这一功能,实现数据库的读写分离,从而改善数据库的负载压力利用数据库的读写分离,Web服务器在写数据的时候,访问主数据库 (Master),主数据库通过主从复制机制将数据更新同步到从数据库 (Slave),这样当 Web服务器读数据的...原创 2018-03-15 23:06:47 · 380 阅读 · 0 评论 -
MySQL 日志 详解
日志配置官方文档 : https://dev.mysql.com/doc/refman/5.7+/en/server-logs.html启动日志功能会降低MySQL数据库的执行速度,且会占用大量磁盘空间和使用很多内存,一般不开启MySQL数据库的日志功能MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等。这些日志可以帮助定位 mysqld 内部发生的事件,...原创 2018-03-16 23:25:08 · 886 阅读 · 1 评论 -
MySQL 数据库文件 详解
MySQL 的每个数据库都对应存放在一个与数据库同名的文件夹中,该文件夹由 MySQL 配置文件 /etc/my.cnf 定义,其中 datadir=/var/lib/mysql 就指定存放位置,MySQL 数据库文件包括 MySQL 所建数据库文件和 MySQL 所用存储引擎创建的数据库文件$ cd /var/lib/mysql$ ls # MySQL 数据存放位置,其中 mytest t...原创 2018-03-19 09:47:09 · 18006 阅读 · 1 评论 -
MySQL 分表、分区 详解
分表和分区的目的大表是指存储百万级乃至千万级条记录的表,这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率分表和分区不矛盾,可以相互配合的,对于那些大访问量,并且表数据比较多的表,可以采取分表和分区结合的方式 (如果 merge 这种分表方式,不能和分...原创 2018-03-19 11:32:21 · 633 阅读 · 0 评论 -
MySQL 数据备份和还原 详解
1> 数据库备份,在 MySQL 的 bin目录下,有一个名为 mysqldump 的可执行文件,将该 bin 目录添加到环境变量中,可以利用它在 "命令提示符" 环境下来备份数据库,mysqldump命令的工作原理是先查出需要备份的表的结构,再在文本中生成一个 CREATE语句,然后将表中的所有记录转换成一条 INSERT语句<1> 备份一个数据库$ mysqldump -h ...原创 2018-03-23 22:56:12 · 285 阅读 · 0 评论 -
MySQL 压缩 详解
MySQL 压缩协议适合的场景是 MySQL 的服务器端和客户端之间传输的数据量很大,或者可用带宽不高的情况,典型的场景有如下两个 :1> 查询大量的数据,带宽不够(比如导出数据的时候)2> 复制的时候 binlog 量太大,启用 slave_compressed_protocol 参数进行日志压缩复制压缩协议是 MySQL 通信协议的一部分,要启用压缩协议进行数据传输,需要 MySQ...原创 2018-03-24 10:03:53 · 6140 阅读 · 0 评论 -
MySQL 清空表(truncate)与删除表中数据(delete) 详解
删除表信息的方式有两种 :truncate table table_name;delete * from table_name;注 : truncate操作中的table可以省略,delete操作中的*可以省略truncate、delete 清空表数据的区别 :1> truncate 是整体删除 (速度较快),delete是逐条删除 (速度较慢)2> truncate 不写服务器 lo...原创 2018-03-24 11:54:24 · 128200 阅读 · 2 评论 -
MySQL 循环方法 while loop repeat 详解
存储过程中使用到的循环while 循环 :# 语法while 条件 do 循环体;end while;# 创建自定函数使用 while 循环mysql> DELIMITER ;; -> CREATE PROCEDURE sum1(a INT) -> BEGIN -> DECLARE sum INT DEFAULT 0; -- default 是指定该变...原创 2018-03-25 13:44:34 · 7158 阅读 · 0 评论