![](https://img-blog.csdnimg.cn/20190903135834306.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySql
文章平均质量分 97
mysql
weihubeats
开源框架Tlog贡献者,技术大多都源于生产实践,乐于分享.公众号:小奏技术
展开
-
MySQL规范
文章目录目的适用范围规范命名例子表范式约束字段索引/主键设计分库分表读写分离其他目的为了规范数据库设计,减少设计失误,提高数据安全及性能,特制订本规范适用范围所有mysql数据库。原则上,数据库设计应遵循本规范说明,特殊情况可例外,但需跟DBA说明原因。规范命名库名、表名、字段名必须使用小写字母,并采用下划线分割MySQL有配置参数lower_case_table_names,不可动态更改,linux系统默认为0,即库表名以实际情况存储,大小写敏感。如果是1,以小写存储,大小写不敏原创 2020-09-12 21:55:11 · 498 阅读 · 0 评论 -
mysql常用函数总结(完整实用)
文章目录1. length 获取参数值的字节个数(utf-8一个汉字代表3个字节,gbk为2个字节)2. concat 拼接字符串3. UPPER、LOWER大小写转换4. substr、substring字符串截取5. instr 返回子串第一次出现的索引,如果找不到返回06.表结构DROP TABLE IF EXISTS `student`;CREATE TABLE `studen...原创 2019-09-28 23:19:33 · 959 阅读 · 0 评论 -
Mysql常用sql总结(SQL学习思维导图)
文章目录对表追加字段:修改字段删除字段字段的重命名表的重命名数据库常用SQL键的六大约束思维导图![在这里插入图片描述](https://img-blog.csdnimg.cn/20190717102338132.png)基本SQL语句查看数据库: show databases;使用数据库: use 数据库名;创建数据库:create database 数据库名查看数据库的表: sh...原创 2019-07-17 10:24:11 · 3261 阅读 · 2 评论 -
从ReadView深入理解MySql MVCC原理
MySql MVCC 机制在说MVCC机制前我们先了解ReadView。ReadView是什么呢?在我们平时执行一个事务的时候,就会生成一个ReadView,ReadView的组成结构大致如下参数说明:creator_trx_id:当前事务idm_ids:所有事务的事务idmin_trx_id:m_ids里最小的事务id值max_trx_id:最大事务id我们来具体分析一下ReadView的作用,以及是如何解决脏读幻读,不可重复读的问题的现在数据有一条数据,如下原始值,上一个已经提交原创 2020-12-04 09:47:09 · 8526 阅读 · 14 评论 -
这个mysql的坑分享给大家 希望大家以后不会踩到(不等于的坑)
问题最近在开发过程中sql中可能有需求需要过滤某类商品,然后sql中就使用了 <>,结果测试把我坑惨了我们来看看具体例子这里假定我有一个用户表 user,需求是查询出所有的用户select * from user;这里可以看到有些name是为null然后这时候因为某些业务需求我们需要过滤掉年龄为18的人sql大致是这样的select * from user wher...原创 2020-04-30 16:40:19 · 395 阅读 · 0 评论 -
面试官:你能说说mysql的几种日志文件吗?
mysql 的日志文件mysql底层是有三种日志文件:undo、redo、binlog,这里我们是以InnoDB存储引擎为例的,为什么要牵扯去存储引擎呢,因为undo、redo是属于InnoDB存储引擎的,binlog才是属于mysql server的日志文件为什么要这三种日志文件呢?这里我们通过sql语句:update student name = ‘xx’ where id = 1;来...原创 2020-02-28 09:04:05 · 901 阅读 · 0 评论 -
oracle、mysql临时表区别
oracle临时表临时表分类:会话级临时表(session表)事务级临时表会话级临时表(session表)会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据创建方式Create Global Temporary table Table_Name(id_ int)On Commit Prese...原创 2019-12-24 10:34:02 · 1180 阅读 · 0 评论 -
我以为我对Mysql索引很了解,直到我遇到了阿里的面试官
我以为我对Mysql索引很了解,直到我遇到了阿里的面试官本文来自微信公众号:Hollis,原作者是一位不愿意透露姓名的粉丝相信很多人对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结构。因为索引是MySQL中比较重点的知识,相信很多人都有一定的了解,尤其是在面试中出现的频率特别高。楼主自认为自己对MySQL的索引相关知识有很多了解,而且因为最近在找工作面试,所...转载 2019-12-20 17:29:24 · 286 阅读 · 0 评论 -
图解sql中的7中join
表: A、B,主键idleft join 左连接select * from A a left join B b on a.id=b.idright join 右连接select * from A a right join B b on a.id = b.idinner joinselect * from A a inner join B b on a.id =...原创 2019-10-16 22:44:17 · 378 阅读 · 0 评论 -
mysql出表锁表如何处理(com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exc)
首先我们查看被锁表的进程SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;然后找到进程号,即 trx_mysql_thread_id然后执行;kill 进程号;原创 2019-10-15 10:41:08 · 27748 阅读 · 0 评论 -
mysql8连接错误(2059 authentication plugin 'caching_sha2_pawwsord' cannot be loaded)
在我安装好mysql8以后看服务也启动了,结果一直连接不上,密码也是对的然后给我报这个错误:后面的乱码可以不用管,错误的大概意思应该是:无法加载身份验证插件’caching_sha2_password”解决方式:我们打开 MySQL 8.0 Command Line Client - Unicode启动 MySQL 8.0 Command Line Client - Un...原创 2019-04-29 09:17:55 · 750 阅读 · 2 评论 -
数据库(SQL)面试题,基础知识(超全面)
什么是存储过程?有哪些优缺点?存储过程就像我们编程语言中的函数一样,封装了我们的代码(PLSQL、T-SQL)存储过程的优点能够将代码封装起来 保存在数据库之中 让编程语言进行调用 存储过程是一个预编译的代码块,执行效率比较高 一个存储过程替代大量T_SQL语句 ,可以降低网络通信量,提高通信速率存储过程的缺点:每个数据库的存储过程语法几乎都不一样,十分难以维护(不...转载 2018-10-18 14:58:17 · 71402 阅读 · 0 评论 -
mysql 实现 oracle ROW_NUMBER() OVER(PARTITION BY)
测试数据:建表sql create table Student1 ( Sno varchar(20) not null primary key, Sname varchar(20) not null, Ssex varchar(20) not null, score int, clas varchar(20) )插入数据:insert into student1 values ('108'...原创 2019-10-11 17:17:08 · 848 阅读 · 0 评论 -
mysql concat与concat_ws区别
concatconcat 用于连接字符串select concat('李白',',','韩信') as 名字;结果为:用法:concat(str1,str2,str3)concat 会自动把str1,str2,str3连接起来,不同的是如果str中有任何一个值为null,则结果为null比如:concat_ws用法: concat_ws(separator,str1,...原创 2019-10-10 10:25:54 · 773 阅读 · 0 评论 -
Db Visualizer Number of rows limited by Max Rows setting解决方案
问题: 在使用DbVisualizer查询一些数据量较大的表时,提示 Number of rows limited by Max Rows setting,意思就是查询的数据最多显示1000行,要显示全部数据需要设置。解决方案:这里提供两种解决方案直接修改Max Rows 为-1即可显示全部数据,一般不这么做,因为数据量大了容易让程序卡死。通过服务器导出数据文件:(1). 首先进入...原创 2019-06-13 09:54:56 · 3689 阅读 · 1 评论 -
数据库到页面转码
一般我们有时候在数据查询到的一些数据比如是英文或者一些码值,但是我们要在页面显示中文要怎么显示呢,如果在controller或者页面转码要用循环比较麻烦,但是我们可以直接改SQL就能使问题变得很简单我们来看下面的问题表一般SQL查询:select * from t_user查询结果为我们需要在前端页面把身份用中文显示,这时候我们SQL可以这么写SELECT CASE j...原创 2019-02-27 11:24:44 · 685 阅读 · 0 评论 -
关于group by的用法 原理
写在前面的话:用了好久group by,今天早上一觉醒来,突然感觉group by好陌生,总有个筋别不过来,为什么不能够select * from Table group by id,为什么一定不能是*,而是某一个列或者某个列的聚合函数,group by 多个字段可以怎么去很好的理解呢?不过最后还是转过来了,简单写写吧,大牛们直接略过吧。 先来看下表1,表名为test: 表1...转载 2019-08-28 08:46:47 · 3733 阅读 · 2 评论 -
mysql 事务详解
什么是事务是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元)解释:就拿银行转账来说,A向B转账 520元,在一个事务中不可能出现A转账成功,扣了520元,B没有收到钱的情况,要么,A转账成功,B收到钱,要么A转账失败,B未收到钱(这也是事务的原子性)事务的基本...原创 2019-08-28 10:39:32 · 951 阅读 · 1 评论 -
[Err] 1173 - This table type requires a primary key
报错sqlDROP TABLE IF EXISTS `aa`;CREATE TABLE `aa` ( `COUN` decimal(10, 0) NULL DEFAULT NULL COMMENT 'null', `STATISTIC_DATE` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT ...原创 2019-09-11 09:15:23 · 10161 阅读 · 1 评论 -
create connection SQLException:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrec
错误:开始定位错误:java.sql.SQLNonTransientConnectionException: Could not create connection to database server一直以为是自己密码或者数据库驱动问题,后来检查发现都没有问题,然后继续向下看错误日志发现:Caused by: com.mysql.cj.exceptions.InvalidConnect...原创 2019-09-13 20:45:30 · 780 阅读 · 0 评论 -
数据库如何备份表(Oracle、mysql、DB2)
在项目开发中,我们总会设计到表的修改或者删除,这时候我们需要备份值之前的表,如何备份呢比如我们要备份一个表明为 :T37_PARTY_RESULT的表create table T37_PARTY_RESULT20181224 like T37_PARTY_RESULTinsert into T37_PARTY_RESULT20181224 select * from T37_PARTY_...原创 2018-12-24 14:25:03 · 11258 阅读 · 0 评论