MySQL
文章平均质量分 91
ErbaoLiu
安徽大学 计算数学 本硕
展开
-
MySQL日期和时间数据类型(DATE、TIME、 DATETIME、 TIMESTAMP和YEAR)
目录日期和时间数据类型语法DateDATETIME和DATETIME(fsp)TIMESTAMP和TIMESTAMP[(fsp)]TIME和TIME(fsp)YEAR和YEAR(4) 本文基于MySQL 5.7版本。 MySQL中表示时间值的日期和时间数据类型有以下五个:(1)DATE(2)TIME(3)DATETIME(4)TIMESTAMP(5)YEAR日期和时间数据类型语法 MySQL允许对TIME、...原创 2021-09-15 00:29:42 · 91659 阅读 · 0 评论 -
重新认识康特星count(*)和康特伊count(1)
目录MyISAM引擎表康特星count(*)孤独的count(*)含其他列的康特星count(*)含where子句的康特星count(*)康特伊count(1)孤独的count(1)count(name)count(distinct name)InnoDB引擎表康特星count(*)孤独的count(*)康特伊count(1)孤独的count(1) 本文主要讨论MySQL中count(*)和count(1)的一些区别。实验基于如下...原创 2021-09-08 23:52:59 · 511 阅读 · 1 评论 -
MySQL分区如何处理NULL?
上一篇:MySQL之KEY分区和LINEAR KEY分区 MySQL中的分区不允许将NULL作为分区表达式的值,无论是列值还是用户提供的表达式的值。即使允许使用NULL作为表达式的值,也必须返回一个整数,重要的是要记住NULL不是一个数字。MySQL的分区实现将NULL视为比任何非NULL值都要小,就像ORDER BY那样。执行如下语句就可以验证:select a.c from(select 1 as cunion allselect null as c) a order b...翻译 2021-07-10 18:01:46 · 541 阅读 · 0 评论 -
MySQL之KEY分区和LINEAR KEY分区
上一篇:MySQL之HASH分区和LINEAR HASH分区初识KEY分区 KEY分区与HASH分区相似,当然有不同点(1)在HASH分区中,可以使用整数列或者基于列值的表达式,即PARTITION BY HASH(expr),而在KEY分区中,直接基于列,PARTITION BY KEY(column_list),column_list是列名列表,这有点像LIST分区和LIST COLUMNS分区,一个基于列值或者列值表达式,另一个直接基于列值或者列值列表;(2)在HASH...翻译 2021-07-10 17:09:59 · 1273 阅读 · 0 评论 -
MySQL之HASH分区和LINEAR HASH分区初识
上一篇:MySQL之LIST和LIST COLUMNS分区初探HASH分区 对于HASH分区,你只需要关注用于HASH计算的一个列值或者基于列的表达式值和表应该被分成几个分区,使用PARTITION BY HASH (expr)计算HASH,expr是一个整数列或者是一个返回整数的表达式,然后接着使用PARTITIONS num指定分区数,num是一个正整数,表示分区数。例如对于employees表,按照整数类型的字段store_id的值分成4个分区,可如下创建HASH分区表:...翻译 2021-07-10 15:06:25 · 1319 阅读 · 0 评论 -
MySQL之LIST和LIST COLUMNS分区初探
阅读本文时,请先阅读《MySQL之RANGE和RANGE COLUMNS分区初见》。LIST分区 LIST分区和RANGE分区有很多相似的地方。两者也有主要的不同之处,在LIST分区中,每个分区都是根据一组值列表中的列值的来定义和选择的,而不是在一组连续的值范围中的一个。使用PARTITION BY LIST(expr)来定义,expr是一个列的值,或者是一个基于列值的表达式,要求expr是整数值。通过VALUES IN (value_list)定义每一个分区,value_list...翻译 2021-07-10 11:49:52 · 2737 阅读 · 2 评论 -
MySQL之RANGE和RANGE COLUMNS分区初见
本文基于version 5.7版本讨论,版本查看SELECT VERSION();可按如下两种方式检查你的MySQL服务器是否支持分区。命令SHOW PLUGINS;如图:或者SELECT PLUGIN_NAME as Name, PLUGIN_VERSION as Version, PLUGIN_STATUS as StatusFROM INFORMATION_SCHEMA.PLUGINSWHERE PLUGIN_TYPE='STORAGE翻译 2021-07-08 12:33:07 · 1524 阅读 · 4 评论 -
MySQL存储过程单条插入和批量插入数据对比
先创建一张测试表t,SQL语句如下:CREATE TABLE t(id INT(11) not NULL auto_increment,name VARCHAR(20) NOT NULL,address VARCHAR(20) NOT NULL,PRIMARY KEY(id));可以执行DESC t;查看表结构,如图:每次插入一条数据插入语句如下:i...原创 2019-02-14 15:42:45 · 2674 阅读 · 0 评论 -
Windows上MySQL(zip压缩版)配置log_bin后无法启动mysql服务
MySQL版本:mysql-5.7.25-winx64.zip 查看log_bin执行show variables like '%log_bin%';查看log_bin是否开启,如图:log_bin的值为OFF。 配置log-bin的问题在MySQL的安装目录下的my.ini配置文件中配置如下参数:log-bin=mysql-binmy.ini全...原创 2019-02-13 23:03:51 · 1612 阅读 · 0 评论 -
Linux安装percona-toolkit
percona-toolkit可以用来查看MySQL慢查询日志。下载地址:percona-toolkit,如图:根据自己的系统下载相应的版本,这里下载percona-toolkit-3.0.13_x86_64.tar.gz,将下载的percona-toolkit上传至Linux上,执行tar -zxvf percona-toolkit-3.0.13_x86_64.tar.gz -...原创 2019-02-19 12:39:53 · 735 阅读 · 0 评论 -
MySQL事务(transaction)以及事务隔离级别(isolation level)
本文使用的MySQL版本:Server version: 5.7.25 MySQL Community Server (GPL)。事务 事务是一组原子性的SQL语句,或者说是一个独立的工作单元,如果数据库引擎(比如InnoDB)能够成功地对数据库应用z这组SQL语句,那么就执行;如果其中有任何一条语句因为崩溃或其他原因无法执行,那么所有语句都不会执行,也就是说,事务内的语句,要...原创 2019-02-13 17:20:25 · 7173 阅读 · 3 评论 -
MySQL备份和恢复(backup and recovery)
本文实践版本:MySQL5.7 备份类型(backup type)物理和逻辑备份(Physical Versus Logical Backup) 物理备份是指直接复制存储数据库内容的目录和文件,这种类型的备份适用于出现问题时需要快速恢复的大型重要数据库。 逻辑备份保存以逻辑数据库结构(create database、create table)和内容(...原创 2019-02-17 15:45:07 · 6425 阅读 · 0 评论 -
MySQL数据类型之字符串(string)
字符类型(CHAR Types)CREATE TABLE t1 (c1 CHAR(10));该语句创建了一张t1表,表中只有一个字段c1,类型为char,char(10)括号中的10表示字段c1最多能够存储10个字符。char最多可以存储255个字符,最小可以存储0个字符。可以如下向表中插入数据:INSERT INTO t1 (c1) VALUES('');INSERT INTO...原创 2019-02-16 14:19:50 · 24906 阅读 · 0 评论 -
MySQL的索引(Index)详解
索引分类(1)普通索引(Key Indexes)(2)唯一索引(Unique Indexes)(3)主键索引(Primary Key Indexes)(4)组合索引(Composite Index)(5)前缀索引(Prefix Indexes)(6)全文索引(Full-Text Indexes)(7)哈希索引(Hash Indexes)(8)空间索引(Spatia...原创 2019-02-16 01:01:49 · 22571 阅读 · 0 评论 -
MySQL的InnoDB Locking(锁)
Shared and Exclusive Locks(1)shared locks是共享锁,简称S锁,exclusive locks是排它锁,简称X锁,它们既可以是表级锁,也可以是行级锁,在MySQL的InnoDB引擎中是行级锁,可以加在一行或者多行上,那么何时在一行上加锁,何时在多行上加锁,这需要根据索引情况而定,后面会说明。平时说的读锁指的就是S锁,写锁指的就是X锁。(2)shared...原创 2019-02-15 19:55:13 · 546 阅读 · 0 评论