
数据库
文章平均质量分 57
alashan007
每天进步一点点
展开
-
mysql数据库的四种隔离级别
mysql的数据库隔离级别转载 2022-08-30 10:43:17 · 2270 阅读 · 0 评论 -
mysql的全文索引详解(FULLTEXT)
mysql的全文索引详解(FULLTEXT)转载 2022-08-03 16:10:03 · 5877 阅读 · 1 评论 -
MySql查询不区分大小写解决方案(两种)
当我们输入不管大小写都能查询到数据,例如:输入 aaa 或者aaA ,AAA都能查询同样的结果,说明查询条件对大小写不敏感。解决方案一:于是怀疑Mysql的问题。做个实验:直接使用客户端用sql查询数据库。 发现的确是大小不敏感 。通过查询资料发现需要设置collate(校对) 。collate规则:*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的*_cs: case sensitive collation,区分大小写*...转载 2021-10-19 18:37:04 · 26747 阅读 · 0 评论 -
redis数据持久化详解
一、概念一)redis提供了不同级别的持久化方式:RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储。 AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾,redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大。 如果你只希望你的数据在服务器运行的时候存在,你也可以不适用任何持久化方式。 也可以同时开启两种持久化方式,在这种情况下,当redis重启的时候会有限载入AOF文转载 2021-08-27 16:03:39 · 5806 阅读 · 0 评论 -
Redis的使用场景
提及Redis我们的第一印象肯定是缓存,因为Redis是基于内存的数据库(速度快),所以适合用作缓存。但是除了被当做缓存使用,基于Reids提供的各种数据类型,我们还是可以实现很多功能。分布式锁(SET)我们设计分布式锁时需要考虑一下两个方面:一次性只能有一个客户端获得锁。 避免死锁(获取锁的客户端在释放锁之前就崩溃后者网络不可到达的情况)。以上两点都可以通过Redis中的SET命令来达到:SET resource-name anystring NX EX max-lock-time转载 2021-08-27 16:01:27 · 342 阅读 · 0 评论 -
Redis配置文件中各个配置项含义
redis是一款开源的、高性能的键-值存储(key-value store),和memcached类似,redis常被称作是一款key-value内存存储系统或者内存数据库,同时由于它支持丰富的数据结构,又被称为一种数据结构服务器(data structure server)。编译完redis,它的配置文件在源码目录下 redis.conf ,将其拷贝到工作目录下即可使用,下面具体解释redis.conf中的各个参数:1 daemonize no默认情况下,redis 不是在后台运行的,如果需要转载 2021-08-27 15:50:54 · 702 阅读 · 0 评论 -
解读什么是Redis缓存穿透、缓存雪崩和缓存击穿(转载)
https://baijiahao.baidu.com/s?id=1619572269435584821&wfr=spider&for=pcRedis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。本篇文章,并不是要更加完美的解决这转载 2020-09-07 18:33:55 · 144 阅读 · 0 评论 -
mysql的sql_mode问题总结
[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_gro转载 2020-06-30 10:47:28 · 257 阅读 · 0 评论 -
PHP操作Redis大全
一、Redis连接与认证 1 2 3 4 //连接参数:ip、端口、连接超时时间,连接成功返回true,否则返回false $ret = $redis->connect('127.0.0.1', 6379, 30); //密码认证:成功返回true,否则返回false $ret = $redis->auth('123456'); 二、String操作 1 2 3...转载 2020-06-24 14:47:58 · 252 阅读 · 0 评论 -
mysql case when then 使用,实现批量更新
建表:create table hank (id int,name varchar(20));插入数据:insert into hank values(1,'A');insert into hank values(2,'B');insert into hank values(3,'C');通过case when then更新数据:update hank set name = case idwhen 1 then 'D'when 2 then 'E'when 3 then 'F'end.转载 2020-05-22 18:38:46 · 1711 阅读 · 0 评论 -
mysql保存或更新 ON DUPLICATE KEY UPDATE
INSERT INTO pms_statistic ( id, tenantId, tenantName, isDeleted, createTime)VALUES ( 6257,50,'保存或修改0',1,'2020-01-00' ) ,( 6258,51,'保存或修改1',1,'2020-01-01' ) ,( 6259,52,'保存或修改2',1,'2020-01-02' ) ...转载 2020-05-15 09:18:13 · 240 阅读 · 0 评论 -
乐观锁和悲观锁
并发控制当程序中可能出现并发的情况时,我们就需要通过一定的手段来保证在并发情况下数据的准确性,通过这种手段保证了当前用户和其他用户一起操作时,所得到的结果和他单独操作时的结果是一样的。这种手段就叫做并发控制。并发控制的目的是保证一个用户的工作不会对另一个用户的工作产生不合理的影响。没有做好并发控制,就可能导致脏读、幻读和不可重复读等问题。并发我们常说的并发控制,一般都和数...转载 2020-04-23 00:08:40 · 167 阅读 · 0 评论 -
MySQL优化技巧
MYSQL优化主要分为以下四大方面:设计:存储引擎,字段类型,范式与逆范式功能:索引,缓存,分区分表。架构:主从复制,读写分离,负载均衡。合理SQL:测试,经验。一、存储引擎在创建表的时候我们使用sql语句,Create table tableName () engine=myisam|innodb;这里就指明了存储引擎是myisam还是innodb。存储引擎是一种用来...转载 2020-04-22 23:37:28 · 159 阅读 · 0 评论 -
MySQL教程之concat以及group_concat的用法
本文中使用的例子均在下面的数据库表tt2下执行:一、concat()函数1、功能:将多个字符串连接成一个字符串。2、语法:concat(str1, str2,...)返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。3、举例:例1:select concat (id, name, score) as info from tt2;...转载 2020-04-06 16:12:00 · 199 阅读 · 0 评论 -
mysql的sql语句练习题
表名和字段–1.学生表Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别–2.课程表Course(c_id,c_name,t_id) – --课程编号, 课程名称, 教师编号–3.教师表Teacher(t_id,t_name) --教师编号,教师姓名–4.成绩表Score(s_id,c_id,s_score) --学生...转载 2020-04-05 18:05:51 · 951 阅读 · 0 评论 -
mysql中having的用法
mysql中,当我们用到聚合函数,如sum,count后,又需要筛选条件时,having就派上用场了,因为WHERE是在聚合前筛选记录的,having和group by是组合着用的先查询分类cid下 id的统计数目select cid,count(id) nums from table_name group by cid 结果如下:然后可以用having对统计的数据进一步筛选...转载 2020-04-04 23:02:32 · 653 阅读 · 0 评论 -
数据库三范式
第一范式就是属性不可分割,每个字段都应该是不可再拆分的。比如一个字段是姓名(NAME),在国内的话通常理解都是姓名是一个不可再拆分的单位,这时候就符合第一范式;但是在国外的话还要分为FIRST NAME和LAST NAME,这时候姓名这个字段就是还可以拆分为更小的单位的字段,就不符合第一范式了。第二范式就是要求表中要有主键,表中其他其他字段都依赖于主键,因此第二范式只要记住主键约束就好了。比如...转载 2020-04-02 15:10:07 · 172 阅读 · 0 评论 -
Sphinx
什么是Sphinx为什么要用Sphinx?原因1: MySQL不支持中文全文检索,模糊查询(like)慢原因2: sphinx支持中文全文检索,并且支持分词高亮什么是Sphinx就是一个软件,用来代替MySQL全文检索sphinx的特性强,快特性高速的建立索引(峰值达10M/s)高性能的搜索(2-4G的文件数据上,平均每次检索0.1秒左右)可处理海量数据...转载 2019-11-13 20:17:44 · 378 阅读 · 0 评论 -
mysql日期函数详解
转载自 https://blog.youkuaiyun.com/zhongqi2513/article/details/50528347MySQL日期函数大全 作为一个程序猿,在日常生活生产中用到数据库是不可避免的,M有SQL作为一款开元的免费关系型数据库,用户基础还是非常庞大的。本人小猿一枚,在平常工作中还是碰到不少关于日期时间之类的处理,为方便自己随时查阅以及各位同门猿学习,遂在此贴出常用的和我碰到...转载 2018-05-23 11:01:56 · 271 阅读 · 0 评论 -
sql 修改(alter)
修改字段属性:-- 修改字段属性-- ALTER TABLE tb_name MODIFY 字段名称 字段类型 [完整性约束条件]-- 将email字段 VARCHAR(50)修改成VARCHAR(200)-- 注意,修改时如果不带完整性约束条件,原有的约束条件将丢失,如果想保留修改时就得带上完整性约束条件ALTER TABLE user10 MODIFY email VARCH...转载 2018-10-21 12:04:05 · 1353 阅读 · 0 评论 -
mysql自定义排序方法
1.示例sqlSELECT * FROM `test_gou`ORDER BY FIELD(`two`, 0,2),three DESC,four ASC;2.示例数据原创 2021-08-12 17:56:09 · 189 阅读 · 0 评论 -
mySql 引擎详解
转载自https://www.cnblogs.com/IT-CPC/p/10883101.html什么是mySql引擎,有啥用mySql存储数据时,有不同的存储方式,这些方式都使用了不同的底层实现(如:存储机制,索引技巧,索引技巧,锁定水平),底层实现的差异带来的功能也就不同。在不同的场景下使用合适的存储方式就能让你的数据读写速度更快或者获得额外的功能。mySql主要有什么存储引擎...转载 2019-06-24 18:56:26 · 199 阅读 · 0 评论 -
yii中打印sql
$listsArray = (new yii\db\Query()) ->select('*') ->from('tablea AS a') ->leftJoin('tableb AS b', 'a.consultant = b.consultant') ->where("a.begin_at_plan < $endTime") ...原创 2018-05-22 15:04:11 · 1924 阅读 · 0 评论 -
MySQL 按指定字段自定义列表排序
[转]http://www.php42.com/index.php/database/35-sql/237-mysql-order-by-list有时以上排序并不能满足我们的需求. 例如, 我们想要按 id 以 5, 3, 7, 1 的顺序排列, 该如何实现. 这也是很多国内外同行经常遇到的问题之一.下面我们给出按表中某字段, 以我们想要的列表方式排序的解决方案.解决方案用"按字段排序" (ORD...转载 2018-05-22 11:51:50 · 2117 阅读 · 0 评论 -
redis 保护模式配置
保护模式下非本地连接不能访问问题还原我是一台机器做redis服务,一台机器当客户端连接redis server : 10.211.55.8:6379启动服务$ redis-server ./redis.confredis.conf是官方安装默认的文件客户端输入$ redis-cli -h 10.211.55.8 -p 637910.211.55.8> set key:01 val1234...转载 2018-05-21 14:46:30 · 2726 阅读 · 0 评论 -
MySQL中索引总结
1.索引不存储null值更准确的说,单列索引不存储null值,复合索引不存储全为null的值。索引不能存储Null,所以对这列采用is null条件时,因为索引上根本没Null值,不能利用到索引,只能全表扫描。为什么索引列不能存Null值?将索引列值进行建树,其中必然涉及到诸多的比较操作。Null值的特殊性就在于参与的运算大多取值为null。这样的话,null值实际上是不能参与转载 2017-10-12 16:41:04 · 203 阅读 · 0 评论 -
Sql语句大全
mysql sql语句大全1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk','testBack', 'c:\转载 2021-08-12 18:02:17 · 231 阅读 · 0 评论 -
mysql常用函数
一、数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然对数的底)的x次方FLOOR(x) 返回小于x的最大整数值GREATEST(x1,x2,...,xn)返回集合中最大的值LEAST(x1,x2,...,xn)返回集合...转载 2017-10-28 23:46:14 · 181 阅读 · 0 评论 -
Windows下安装Redies
转自 http://blog.youkuaiyun.com/lamp_yang_3533/article/details/52024744一、Redis的下载地址Redis官方并没有提供Redis的windows安装包,但在github上, 有相关的下载地址,如下:https://github.com/ServiceStack/redis-windows/tree/master/dow转载 2018-05-15 10:03:36 · 2487 阅读 · 0 评论 -
mysql压力测试mysqlslap工具(百度经验)
http://jingyan.baidu.com/article/9113f81b05c4fb2b3214c7d3.html测试相应的数据库加参数--create-schema=库名转载 2018-05-15 10:06:04 · 166 阅读 · 0 评论 -
mysql 触发器
MySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行。创建触发器在MySQL中,创建触发器语法如下:代码如下:CREATE TRIGGER trigger_nametrigger_timetrigger_event ON tbl_nameFOR EACH ROWtr转载 2018-05-14 11:07:41 · 119 阅读 · 0 评论 -
mysql 主从复制
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://369369.blog.51cto.com/319630/790921mysql主从复制(超简单)怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:1、主从服务器分别作以下操作: 1.1、版本一致 1.2、初始化表,并在后台启转载 2018-05-14 11:07:25 · 138 阅读 · 0 评论 -
1.redis 中scan的常用总结
scan :迭代库中的key例如 scan 0 match h* (其中match为匹配的参数)sscan:迭代集合set中的元素 sscan jihe 0或者 sscan jihe 0 match f*hscan:迭代哈希列表中的key hscan hash 0或者 hscan hash 0 match a*(match匹配的是键)zscan:迭代有序集合中的元素原创 2017-10-12 13:48:55 · 1011 阅读 · 0 评论 -
Mysql中innodb和myisam区别
MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM。InnoDB转载 2017-10-12 16:38:54 · 201 阅读 · 0 评论 -
mysql常用命令
转自微信公众号“MySQL数据库”:http://mp.weixin.qq.com/s?__biz=MzIyNjIwMzg4Ng==&mid=2655293044&idx=1&sn=e312934e5115105fdbe5da12af150276&scene=0#wechat_redirect【全了】Mysql数据库操作常用命令2016-07-21 MySQL数据库1、MySQL常转载 2017-12-11 10:12:26 · 293 阅读 · 0 评论 -
Redis在windows下安装过程
一、下载windows版本的Redis去官网找了很久,发现原来在官网上可以下载的windows版本的,现在官网以及没有下载地址,只能在github上下载,官网只提供linux版本的下载官网下载地址:http://redis.io/downloadgithub下载地址:https://github.com/MSOpenTech/redis/tags二、安装Redis1.这里下载的是Redis-x64...转载 2018-05-21 14:45:02 · 137 阅读 · 0 评论 -
后台统计功能部分示例
1.html页面<div> <form action="" method="POST"> <span>周期:</span> <select style="width: 100px;" id="group-status" name="day"&am原创 2018-04-11 12:05:01 · 3287 阅读 · 0 评论 -
数据的备份与恢复
一、数据备份 1、使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。 mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。 1、备份一个数据库 mysqld...转载 2018-02-23 14:16:11 · 283 阅读 · 0 评论 -
MySQL join的区别
left join:左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录right join:是以右表(B)为基础的,A表不足的地方用NULL填充.inter join:两个表都符合才显示...原创 2018-02-23 14:14:24 · 461 阅读 · 0 评论 -
mysql 配置连接相关
mysql 默认连接数(100),最大16384,一般在150-200左右,可以从配置文件或命令行修改 查看最大连接数:show variables like '%max_connections%'; 查看服务器响应最大连接数show global status like 'Max_used_connections';...转载 2018-02-23 12:27:37 · 163 阅读 · 0 评论