关系型与非关系型数据库系列
LQ-刘强
从事......
展开
-
docker下mongodb与mysql的数据导入导出
docker之mongo数据库备份与导入docker之mysql数据库备份与导入原创 2020-03-27 09:54:04 · 407 阅读 · 0 评论 -
MySQL操作系列之TCL事务控制语言(七)
(一).mysql中的事物是什么1.sql中的事物是什么:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行;2.经典案例:转账(事物就是为了解决这个问题而存在:事物回滚)小明账户余额1000元,小红账户余额800元,现在小明要转账500到小红,那么要同时执行两个sql语句:update 表 set 小明账户余额=500元 where name="小明";...原创 2019-01-16 18:04:46 · 223 阅读 · 0 评论 -
MySQL操作系列之基于docker的log-bin模式的主从复制(十四)
本篇讲解的是基于docker+mysql底层的log日志完成的主从复制(暂没有使用到mycat做)(一)看log的主从复制原理图(二)搭建步骤0.省略docker操作mysql容器等步骤...1.启动主从两台mysql启动主机:docker run -p 3307:3306 --name mysql-master -v $PWD/mysql-master/con...原创 2019-03-11 16:51:16 · 201 阅读 · 0 评论 -
Redis操作系列之Redis集群搭建--主从复制(五)
1.从机构建环境①如何开启三个不同的redis?②就是将redis.conf复制几份,如redis6380.conf,redis6381.conf等文件;③修改redis6380.conf,redis6381.conf等文件中的一些信息:主要修改以下参数,如:port 6380pidfile /var/run/redis_6380.pidlogfile "redis6380.l...原创 2019-04-27 10:54:49 · 172 阅读 · 0 评论 -
Redis操作系列之安装(一)
(一)Docker安装1.下载镜像:docker pull redis:3.22.redis运行(将真正redis.conf文件放在$PWD/redis/conf目录下):docker run -p 6379:6379 --name myRedis -v $PWD/redis/data:/data -v $PWD/redis/conf:/usr/local/etc/redis/redi...原创 2019-04-18 17:43:30 · 142 阅读 · 0 评论 -
Redis操作系列之redis服务器配置redis.conf(二)
以下是redis.conf文件中的参数详解1.INCLUDES模块:引用其它配置文件到redis中配置,主要是方便维护;(就像html中的include引用其它模块)2.GENERAL模块:通用配置①daemonize yes:将daemonize的值设置为yes,让redis做后台启动进程;(默认情况下值为no,不作为守护进程运行)②protected-mode yes:是否开...原创 2019-04-18 17:49:24 · 231 阅读 · 0 评论 -
Redis操作系列之持久化RDB与AOF(三)
(一)RDB与AOF英文缩写:RDB:Redis DataBase;AOF:Append Only File;(二)RDB与AOF1.RDB:在指定的时间内将内存中的数据集快照写入磁盘,即也就是数据备份。(它是Redis默认的持久化方式)1)RDB在保存RDB文件时父进程唯一需要做的就是fork一个子进程,接下来的工作全部由子进程来做,父进程不需要再做其它的IO操作...原创 2019-04-18 17:57:55 · 436 阅读 · 0 评论 -
Redis操作系列之事物(四)
redis是部分支持事物(一)执行事物关键字解释MULTI开启事物;EXEC执行事物;DISCARD放弃事物;WATCH监控:类似于乐观锁,如果执行的事物的过程中,操作的值被其它线程执行的命令了所修改了,那么事物 将会被打断;UNWATCH命令可以手动取消对所有键的监视;(二)事物的执行流程模板正常执行流程(其实也就是将所有执行的命令添加到queue中,再进行...原创 2019-04-24 18:22:59 · 152 阅读 · 0 评论 -
MySQL操作系列之DDL数据定义语言(六)
DDL数据定义语言:库与表的创建create,修改alter与删除drop等 (一)库的管理1.创建库:create database [if not exsits] 库名;(添加if not exsits:如果库已存在就不创建,否则就报错)2.修改库的字符集:alter database 库名 character set 字符集格式;3.删除库:drop database [if...原创 2019-01-16 17:54:37 · 145 阅读 · 0 评论 -
MySQL操作系列之MySql的linux安装与docker安装(补篇)(十三)
(一)linux下的mysql安装(mysql版本5.7.x)操作步骤:0.先去mysql官网下载mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz包1.将mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz解压到/usr/local/目录下,然后重命名解压后的目录为mysql;2.添加mysql用户与mysql用户...原创 2019-01-25 11:33:57 · 425 阅读 · 0 评论 -
MySQL操作系列之select查询--基础查询(一)
1.查询字段取别名的两种方式(特殊别名可以用双引号引起来变成字符串)select 字段名 别名,字段名2 别名2,... form 表名;select 字段名 as 别名,字段名2 as 别名2,... form 表名;2.去重[DISTINCT关键字](查询员工表中所有department_id并去除重复的department_id)SELECT DISTINCT departme...原创 2018-12-21 18:11:55 · 192 阅读 · 0 评论 -
MySQL操作系列之select查询--条件查询(二)
总条件查询分类简单条件查询:>,<,=,!=(等同于<>),等等;逻辑表达式筛选:and,or,not;模糊查询:like,between and,in,is null;一.简单条件查询与逻辑表达式筛选示例:查询员工工资不是小于7900到1100之间的,或者是工资高于20000的:SELECT * FROM `employees` WHERE NOT(s...原创 2018-12-21 18:19:42 · 549 阅读 · 0 评论 -
MySQL操作系列之常见函数大全(三)
mysql的常见函数类似于java中的方法一.字符函数1.length(str):返回值为字符的长度2.concat(str,str1,...):字符拼接3.upper(str)与lower(str):字符转大小写列:将a字符变为大写,再将B字符变为小写,然后拼接 concat(upper('a'),lower('B'))4.substr(str,pos):截取str字符中pos索...原创 2018-12-21 18:34:05 · 526 阅读 · 0 评论 -
MySQL操作系列之存储引擎(八)
本篇为mysql下篇系列的第一篇:介绍mysql中经常被使用到的两种存储引擎InnoDB与MyIsam(一)InnoDB引擎1.InnoDB:是一个事务型的存储引擎,有行级锁定和外键约束。2.适用场景:①经常更新的表,适合处理多重并发的更新请求。②支持事务。③可以从灾难中恢复(通过bin-log日志等)。④外键约束。只有它支持外键。⑤支持自动增加列属性auto_incremen...原创 2019-01-18 18:02:30 · 157 阅读 · 0 评论 -
MySQL操作系列之索引(九)
本篇为mysql下篇系列的第二篇:介绍mysql中索引 (一)INDEX(索引) INDEX(索引)是什么:是帮助数据库高效获取数据的数据结构。本质上说:索引是数据结构。①索引就是将先排好顺序的数据,进行直接索引查找。(排好序的快速查找数据结构)。也就是说索引查找快,是从原先将排序好的数据进行直接定位查找。②可推断出索引会影响到sql语句的where后面的查找与groupBy...原创 2019-01-18 18:10:51 · 197 阅读 · 3 评论 -
MySQL操作系列之分组查询/链接查询/子查询/分页查询/联合查询(四)
(一).分组查询注意:查询时要根据逻辑一步一步来[注:HAVING后的条件就是在GROUP BY分组执行后再执行的一个筛选(有些查询条件的执行可能在分组查询前后执行的)]示例:1.简单分组查询(查询每个部门的员工的最高工资)SELECT MAX(salary),department_id FROM employees GROUP BY department_id;2.根据dep...原创 2019-01-14 08:59:41 · 222 阅读 · 0 评论 -
MySQL操作系列之delete,update,insert的sql语法操作与分析(五)
(一).insert插入语法1:insert into 表名(列名1,列名2,...) values(值1,值2,...);语法2:insert into 表名 set 列名1=值1,列名2=值2,...;注:如果要全部插入,默认是有全列名 insert into 表名 values(值1,值2,...);两种语法的区别:1.语法1支持多行插入,语法2不支持如:insert into...原创 2019-01-14 09:04:25 · 539 阅读 · 0 评论 -
MySQL操作系列之SQL语句优化分析explain关键字(十)
(一)语法 explain+SQL语句 (二)explain能做什么①表的读取顺序;②数据读取操作的操作类型;③那些索引可以使用;④那些索引被实际使用;⑤表之间的引用;⑥每张表有多少行被优化器查询; (三)SQL语句分析后的结果分析(分析最重要的字段:id,type,key,rows,Extra):①id:查询语句执行的流程。id的数值却大,就越先执...原创 2019-01-25 09:22:22 · 407 阅读 · 0 评论 -
MySQL操作系列之查询SQL语句优化(十一)
1.Join语句优化:尽可能减少Join语句中的NestedLoop的循环次数,"永远是小结果集驱动大的结果集";保证Join语句中的被驱动表上Join条件字段已经被索引;2.最佳左前缀法则(最好不要跳过索引查):如:tbl_user表中有字段id,name,age,phone,info字段,id为主键,且建立复合索引idx_nameAgePhone索引;如:alter table ...原创 2019-01-25 10:33:18 · 289 阅读 · 0 评论 -
MySQL操作系列之SQL语句优化分析慢查询日志(十二)
注:此方案一般系统太慢时,可能先看sql调优用到,默认关闭,不要在线上环境开启,会导致性能问题 1.sql语句慢查询日志(超过long_query_time值的sql会被记录)①查询慢查询日志的状态:show global variables like '%slow_query_log%';②开启慢查询日志(当mysql重启时会重置):set global slow_query_l...原创 2019-01-25 10:47:04 · 294 阅读 · 0 评论 -
字典表设计
本篇的字典表主要针对前端展示多层目录数据的一个设计。相信我们在金山毒霸上看电影时,会有很多电影分类,可以更具国家的不同,年限的不同亦或电影种类的不同去查询自己想要看的电影类型,那么这么多分类在设计一般是不会将每种不同的分类都放在一个数据库表里面,如果这样做的话会带来很多不好的影响,比如这么多分类会占用多张表且每张表的数据都极少,同时也不利于对数据库表的管理,而是数据查询分类时,会进行多表联查,...原创 2018-08-09 09:37:44 · 22025 阅读 · 6 评论