![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
日薪灬越亿
这个作者很懒,什么都没留下…
展开
-
运维常用命令记录
查询数据库大小select concat(round(sum(DATA_LENGTH/1024/1024),2), 'MB') as data from information_schema.TABLES where information_schema.TABLES.TABLE_SCHEMA='数据库的名称';查询数据库表的大小以及索引大小,降序selecttable_schema as '数据库',table_name as '表名',table_rows as '记录数',原创 2021-11-10 10:45:24 · 1526 阅读 · 0 评论 -
mySQL:两表更新(用一个表更新另一个表)的SQL语句
update people s set city_name = (select name from city where code = s.city_code);原创 2020-12-16 20:58:27 · 466 阅读 · 0 评论 -
mysql删除某个字段重复的数据
delete from tablename where id not in (select id from (select min(id) as id from tablename group by key) as b);– key是重复的字段原创 2020-11-27 17:31:02 · 325 阅读 · 0 评论 -
mysql查询某个字段中包含空格的数据
使用trim函数即可select 字段名,trim(字段名) from table where trim(字段名) <> 字段名原创 2020-09-17 19:14:28 · 3393 阅读 · 0 评论 -
JDBC工具类
导入mysql相关的maven依赖(版本自选) <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.25</version> </dependency>工具类:public class JdbcUtils { // 可以把几原创 2020-09-11 16:07:17 · 104 阅读 · 0 评论 -
mysql命令导入导出表
导入mysql -h host -u用户名 -p密码 数据库 < 文件名示例:mysql -h 127.0.0.1 -uroot -proot test < test.sql导出mysqldump -h host -u 用户名 -p 数据库表名> 文件名称示例:mysqldump -h 127.0.0.1 -u root -p testtest> test.sql...原创 2020-09-11 16:04:21 · 79 阅读 · 0 评论 -
mysql优化 -- 业务设计之物理设计
物理设计命名规范数据库、表、字段的命名要遵守可读性原则使用大小写来格式化的库对象名字以获得良好的可读性例如:使用custAddress而不是custaddress来提高可读性。数据库、表、字段的命名要遵守表意性原则对象的名字应该能够描述它所表示的对象例如:对于表,表的名称应该能够体现表中存储的数据内容;对于存储过程存储过程应该能够体现存储过程的功能。数据库、...原创 2019-09-26 15:35:32 · 92 阅读 · 0 评论 -
mysql优化 -- 慢查询
什么是慢查询慢查询日志,顾名思义,就是查询慢的日志,是指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句的日志。该日志能为SQL语句的优化带来很好的帮助。默认情况下,慢查询日志是关闭的,要使用慢查询日志功能,首先要开启慢查询日志功能。慢查询配置slow_query_log 启动停止技术慢查询日志 slow_query_log_file 指定慢查询...原创 2019-09-27 09:24:49 · 143 阅读 · 0 评论 -
mysql优化 -- 索引与执行计划
索引与执行计划索引入门索引是什么MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。上面的理解比较抽象,举一个例子,平时看任何一本书,首先看到的都是目录,通过目录去查询书籍里面的内容会非常的迅速。上图就是一本金瓶梅的书,书籍的目录是按顺序放置的,有第一节,第二节它本身就是一种顺序存放的数据结构,是一...原创 2019-09-27 14:42:18 · 193 阅读 · 0 评论 -
mysql优化 -- SQL优化
优化实战策略1.尽量全值匹配CREATE TABLE `staffs`( id int primary key auto_increment, name varchar(24) not null default "" comment'姓名', age int not null default 0 comment '年龄', pos varchar(20) not null d...原创 2019-09-27 16:02:12 · 92 阅读 · 0 评论 -
mysql优化 -- 批量导入数据
package cn.enjoy;import org.junit.Test;import java.io.BufferedReader;import java.io.FileReader;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;imp...原创 2019-09-27 16:09:10 · 132 阅读 · 0 评论 -
mysql优化 -- 业务设计之逻辑设计(范式化设计以及反范式化设计)
逻辑设计-范式设计数据库设计的第一大范式数据库表中的所有字段都只具有单一属性单一属性的列是由基本数据类型所构成的设计出来的表都是简单的二维表name-age列具有两个属性,一个name,一个 age不符合第一范式,把它拆分成两列数据库设计的第二大范式要求表中只具有一个业务主键,也就是说符合第二范式的表不能存在非主键列只对部分主键的依赖关系有两张表:订单表,产...原创 2019-09-26 15:13:05 · 168 阅读 · 0 评论 -
mysql优化 -- 事务
什么存储引擎支持事务1.查看数据库下面是否支持事务(InnoDb支持)?SHOW ENGINES2.查看mysql当前默认的存储引擎?show variables like '%storage_engine%';3.查看某张表的存储引擎?show create table 表名;CREATE TABLE `user` ( `userid` varchar(6...原创 2019-09-15 22:57:51 · 112 阅读 · 0 评论 -
mysql-创建用户报错ERROR 1396 (HY000): Operation CREATE USER failed for 'XXXX'@'XXXX'
创建用户:create user ‘test’@’%’ identified by ‘test’;显示ERROR 1396 (HY000): Operation CREATE USER failed for ‘test’@’%’查看是不是存在这个用户select user from user;发现没有这个用户。记得上次有删除过这个用户。可能没有刷新权限flush pri...转载 2019-02-28 18:07:10 · 1018 阅读 · 0 评论 -
mysql 语句执行顺序
写的顺序:select ... from... where.... group by... having... order by..执行顺序:from... where...group by... having.... select ... order by...原创 2019-02-25 09:34:01 · 181 阅读 · 0 评论 -
数据库连接种类
--建表table1,table2:create table table1(id int,name varchar(10))create table table2(id int,score int)insert into table1 select 1,'lee'insert into table1 select 2,'zhang'insert into table1 select 4,...转载 2019-02-25 10:08:03 · 2553 阅读 · 0 评论 -
解决ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
在终端输入mysql -uroot -p123456登录数据库总是报这样的错,很烦。在网上查了一下,没有得到解决,可能每个人遇到的问题原因不一样,此时我就想看一下/tmp/mysql.sock这个文件,但是在/tmp/目录下没有找到此文件,我想可能就是缺少这种文件导致的,于是搜索mysql.sock此文件,发现在/var/lib/mysql/mysql.sock,于是建立一个软连接...转载 2019-03-01 22:09:23 · 64486 阅读 · 7 评论 -
MySQL 5.7 Invalid default value for 'xxx_TIME'报错
MySQL 5.6以后timestamp设定默认值规则改变,不能为”0000 00-00 00:00:00”这种报错多是你mysql升级到5.7而引起的默认值不兼容的问题。看看你的字段名是什么,我的是时间字段,类型是datetime。想到可能是类型的默认值被限制了,查看sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数限制时间不能为0mysq...原创 2019-04-30 22:46:34 · 1291 阅读 · 0 评论 -
mysql优化 - mysql概述
衡量指标TPS - Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数,如果是InnoDB会显示,没有InnoDB就不会显示。TPS = (COM_COMMIT + COM_ROLLBACK)/UPTIMEuse information_schema;select VARIABLE_VALUE into @num_com from GLOB...原创 2019-09-01 21:32:35 · 104 阅读 · 0 评论 -
mysql优化 - MySql架构与存储引擎
MySql逻辑架构MySql逻辑架构-连接层MySql逻辑架构-SQL处理层MySql逻辑架构-SQL处理层MySql逻辑架构-缓存SHOW VARIABLES LIKE '%query_cache_type%'开启方式:SHOW VARIABLES LIKE '%query_cache_size%'SET GLOBAL query_cache_si...原创 2019-09-05 17:35:00 · 196 阅读 · 0 评论 -
mysql优化 -- 存储引擎
存储引擎查看当前mysql提供的存储引擎SHOW ENGINES查看mysql当前默认的存储引擎SHOW VARIABLES LIKE '%storage_engine%'存储引擎-MyISAMmysql5.5 之前默认的存储引擎特性:并发性与锁级别-表级锁支持全文检索支持数据压缩myisampack.exe -b -f testmyisam...原创 2019-09-09 16:18:34 · 108 阅读 · 0 评论 -
mysql优化 -- 锁(Myisam)
锁的概念锁是计算机协调多个进程或者线程并发访问某一资源的机制。在数据库中,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性,有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。锁对数据库而言显得尤其重要,也更加复杂。MySQL中的锁mysql的锁机制比较简单最显著的特点是不同的存储引擎支持不同的锁机制比如:Myisam...原创 2019-09-10 16:34:35 · 102 阅读 · 0 评论 -
mysql优化 -- 锁(Innodb)
InnoDb行锁行锁共享锁:读锁。当一个事务对某几行上读锁时,允许其他事务对这几行进行读操作,但不允许其进行写操作,也不允许其他事务给这几行上排它锁,但允许上读锁。排它锁:写锁,当一个事务对某几行上写锁时,不允许其他事务写,但允许读。更不允许其他事务给这几行上任何锁。包括写锁。语法上共享锁的写法:lock in share mode例如:select * from 表 wh...原创 2019-09-10 17:43:20 · 97 阅读 · 0 评论 -
MySQL 建索引时 Specified key was too long; max key length is 767 bytes 错误的处理
先检查一下是不是数据库被限制了索引的大小SHOW variables like 'innodb_large_prefix'如果查询的值是OFF的话 执行下面命令SET GLOBAL INNODB_LARGE_PREFIX = ON;执行完了 之后 还得查看当前的innodb_file_format引擎格式类型是不是BARRACUDA执行SHOW variables lik...原创 2019-02-28 18:04:48 · 5294 阅读 · 2 评论