mysql
是人非人的人
这个作者很懒,什么都没留下…
展开
-
数据库事务相关介绍
数据库中事务的四大特性(ACID)原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。隔离性(Isolation)隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事原创 2020-11-11 15:15:04 · 155 阅读 · 0 评论 -
MySQL datetime类型默认值
设计表结构的时候,很多时候会添加created_at,updated_at创建时间修改时间(命名习惯可能不一样)。之前很多时候是在代码中维护这两个字段,最近看到个办法可以使用mysql自己维护。这里说的是更新时间,通过mysql 自己维护。不需要我们代码中在去专门处理。在创建的字段的时候,设置defult value:CURRENT_TIMESTAMP, 勾选 on update curre...原创 2018-12-09 18:30:00 · 15301 阅读 · 2 评论 -
MySQL分表
这里说的分表只是单纯的分表,不涉及到集群,其他存储引擎实现,水平有限还在不断学习。分表主要就是两种,水平分表,垂直分表。水平分表,主要是针对单表的数据量过大(一般可以几百万级别 ,甚至更大)。因为过大,导致操作效率低下,需要根据一个原则拆分成多个子表。比如常用的是更加原表中自增长id,取模运算,结果一样的放入一个子表中,这样根据id可以去对应的表查询记录。补充说明: 这里比较常见的一个...原创 2018-12-09 17:56:45 · 502 阅读 · 0 评论 -
mysql replace 和replace into使用
最近听别人介绍mysql实现发号器功能,使用的是replace into。之前经常使用是replace,并不知道replace into做什么用。了解下replace是mysql 里面处理字符串比较常用的函数,可以替换字符串中的内容。类似的处理字符串的还有trim截取操作,这里就不在多说。replace into 主要作用类似insert插入操作。主要的区别是replace会根据主键或者...原创 2018-12-09 17:21:55 · 6635 阅读 · 0 评论 -
mysql查看表创建语句
大家经常会遇到,需要把表结构从测试环境导入到线上。最近偶然看到一个不常用的sql语句,可以查看创建表的生成语句。直接看下面的语句//查看表的创建语句show create table logs//结果返回两个字段,一个是table 表命,另一个是create table内容CREATE TABLE `logs` ( `id` bigint(20) NOT NULL AUTO_I...原创 2018-11-08 22:31:27 · 6324 阅读 · 0 评论 -
mysql 1862错误解决
说明:最近本地跑项目,打开navicat忽然提示1862的错误。网上查询知道,是需要更新用户密码。下面说的不一定完全对,有问题还欢迎指出。1.我使用的是window7,通过命令行直接回车进入。mysql -u root -p2.修改root密码。SET PASSWORD = PASSWORD('需要修改的密码');3.重新进入就正常了。...原创 2018-09-07 19:35:37 · 686 阅读 · 0 评论 -
mysql 1862错误解决
一段时间没用mysql数据库,在连接会提示密码过期了,需要更新密码。 我使用的windows集成环境。在命令行模式,进入到mysql安装目录下的bin目录。执行如下名:1. mysql -u root -p2. 输入原来root用户密码 2. set password = pasword('新密码')...原创 2018-07-10 15:17:58 · 3338 阅读 · 1 评论 -
MySql JSON使用
https://dev.mysql.com/doc/refman/5.7/en/json.html原创 2018-05-16 14:53:16 · 240 阅读 · 0 评论 -
ubuntu下源码安装mysql
说明:1. 安装使用的是阿里云ECS ubuntu14.04系统。操作过程中可能不同版本系统,会有些差异。具体问题还请网上查询相关解决办法。相关源码包会不断更新,假如看到本文时间比较久,还是建议直接上官网下载最近的版本。linux下手动编译安装用户软件,源码放在/usr/local/src中,安装路径在/usr/local/下。2. 通过apt-get 命令可以直接安装,但是一般指定版本,如果需要...原创 2018-05-13 12:22:59 · 2636 阅读 · 0 评论 -
mysql 存储内容区分大小写
一、1、 CREATE TABLE NAME(name VARCHAR(10));对这个表,缺省情况下,下面两个查询的结果是一样的:SELECT * FROM TABLE NAME WHERE name='clip';SELECT * FROM TABLE NAME WHERE name='Clip';MySql默认查询是不区分大小写的,如果需要区分他,必须在建表的时候,Binary标示敏感的属性...转载 2018-03-26 14:11:09 · 2261 阅读 · 0 评论 -
mysql数据库区分字段大小写(laravel ORM)
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', ''), 'database' => env('DB_DATABASE', ''), 'username' => env('DB_USE...原创 2018-03-26 13:59:12 · 2017 阅读 · 0 评论 -
mysql 正则匹配
基本形式 属性名 regexp ‘匹配方式' 正则表达式的模式字符 ^ 匹配字符开始的部分 eg1: 从info表name字段中查询以L开头的记录 select * from info where name regexp '^L'; eg2: 从info表name字段中查询以aaa开头的记录 select * from info where name regexp '^aaa'; $ 匹配字符结束...转载 2018-02-14 09:21:54 · 663 阅读 · 0 评论 -
mysql查找重复记录中指定最大(最小)值
在有多条字段重复记录的表中,经常需要查询重复记录中的最大,最小值。1.直接使用max()函数,例子是获取最大的id测试表结构:`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `role_id` int(10) unsigned NOT NULL, `user_id` int(10) unsigned NOT NULL, PRIM原创 2017-09-13 15:40:03 · 12141 阅读 · 0 评论 -
MYSQL EXPLAIN详解
mysql explain执行计划详解 1)、id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。 2)、select_type列常见的有:A:simple:表示不需要union操作或者不包含子查询的简单select查询。有连接查询时,外层的查询为simple,且只有一个B:p转载 2017-08-10 15:12:20 · 271 阅读 · 0 评论 -
MYSQL Hash 和B-Tree索引的区别
Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可 能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Hash 索引转载 2017-08-10 14:58:10 · 198 阅读 · 0 评论 -
Mysql 获取一个表中字段信息存入另一个表中
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2017-08-08 11:48:28 · 1376 阅读 · 0 评论 -
mysql 中自定义实现split功能的函数
自定义实现split功能的函数项目中处理数据,需要用到根据指定字符分割字符串并记录的功能。参考其他资料实现的功能/**主要功能,是实现类似sql里面的指定字符分割给定的字段,分割的结果,存入另一个新表中。一般是存入当前表id,和分割后的一对多内容**/DROP FUNCTION IF EXISTS split;delimiter $$ CREATE FUNCTI原创 2017-08-03 17:07:47 · 1902 阅读 · 0 评论 -
mysql 命令中查看执行的时间,优化sql查询
mysql 5.0以上版本开始支持profiling。使用步骤:1 开启profiling参数 : set profiling=1;2 执行sql3 通过执行SHOW PROFILES 命令获取当前系统中保存的多个Query的profile的信息。(可选)4 计算之前执行的sql时间总和:select sum(duration) as sum from info转载 2017-03-20 14:20:20 · 1369 阅读 · 0 评论