![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
阿豪Tata
愿过去的都不后悔,未来的都充满希望(欢迎各位朋友,大家相互认识一下哈)
展开
-
mysql count(if())用法
看一段代码 // 省份支持模糊搜索 array_walk_recursive($where, function (&$value, $key) { if ("province" == "{$key}" && $value) { $value = ['like', "%$value%"]; } }); //$where['examine_tim原创 2021-10-18 16:55:27 · 17384 阅读 · 0 评论 -
MySQL日期时间datetime格式查询数据方式
msyql数据表时间字段为datetime时候,想要查询某一天数据第一种SELECT * from od WHERE create_time >= '2021-02-25 00:00:00' AND create_time <= '2021-02-25 23:59:59' 第二种select * from od where date(create_time)='2021-02-25';可以明显看到第一种查询效率要高的多explain一下一个用到了索引,查询部分,一个全原创 2021-09-14 09:11:33 · 11710 阅读 · 0 评论 -
mysql通过navicat ssh连接
点击 或选择文件 -> 新建连接 来设置连接属性。选择 SSH 选项卡并启用 使用 SSH 通道。填写所需的信息:主机名或 IP 地址SSH 服务器的主机。端口SSH 服务器的端口,默认情况下它是 22。用户名在 Linux 机器的用户。(这是一个 Linux 用户。它不是一个数据库服务器用户。)验证方法在密码验证和公钥验证间选择。密码这是一个 Linux 用户的密码。在常规设置页面的 Navicat 主机名(localhost即可)是由你的数据库讬管公司提供,应设置和原创 2021-05-07 14:19:12 · 950 阅读 · 0 评论 -
mysql根据json字段查询数据以及错误‘Invalid JSON text in argument 1 to function json_extract‘解决
1,使用json_contins查询select * from abnormalwhere status = 1 and state in (10, 20, 25) # 3 and settle_info != '' and json_contains(settle_info -> '$.cids', '32428');2,使用json_exact查询看了下数据库,发现确实有些记录的该字段为空。后来查了下官方文档,发现可以用JSON_VALID来确保该字段包含JSON,这.原创 2021-03-06 10:18:12 · 32407 阅读 · 6 评论 -
mysql中find_in_set()的使用
MySQL手册中find_in_set函数的语法:FIND_IN_SET(str,strlist)str 要查询的字符串strlist 字段名 参数以”,”分隔 如 (1,2,6,8)查询字段(strlist)中包含(str)的结果,返回结果为null或记录假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。 一个字符串列表就是一个由一些被 ‘,’ 符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则FIND_原创 2021-02-20 11:34:50 · 5951 阅读 · 0 评论 -
MySQL查询key关键字的问题
SELECT id,id as key,name,short_name,group_id,type,address,sup_id,create_timefrom company where id = 36204;因为这里的key字段是mysql的关键字,所以一直报错。修改如下:在key的头上加上两点(反引号,它在键盘的~这个键上)。搞定当然最好改为key_id之类的...原创 2021-02-07 15:55:48 · 946 阅读 · 0 评论 -
mysql--count(*)为什么慢
在开发系统的时候,你可能经常需要计算一个表的行数,比如一个交易系统的所有变更记录总数。这时候你可能会想,一条 select count(*) from t 语句不就解决了吗?但是,你会发现随着系统中记录数越来越多,这条语句执行得也会越来越慢。然后你可能就想了,MySQL 怎么这么笨啊,记个总数,每次要查的时候直接读出来,不就好了吗。那么今天,我们就来聊聊 count(*) 语句到底是怎样实现的,以及 MySQL 为什么会这么实现。count(*)的实现方式你首先要明确的是,在不同的 MySQL 引擎中原创 2020-06-03 09:45:49 · 399 阅读 · 0 评论 -
Mysql慢查询日志的相关使用
登录mysql系统慢查询日志设置当语句执行时间较长时,通过日志的方式进行记录,这种方式就是慢查询的日志。查看慢查询 日志相关情况show variables like ‘%quer%’;参数说明:slow_query_log : 是否已经开启慢查询slow_query_log_file : 慢查询日志文件路径long_query_time : 超过多少秒的查询就写入日志慢查询...原创 2020-04-25 17:06:03 · 804 阅读 · 0 评论 -
SQL 编程思想:一切皆关系
SQL 编程思想:一切皆关系 本文链接:https://blog.csdn.net/horses...转载 2020-03-13 17:27:38 · 441 阅读 · 0 评论 -
MySQL管理工具mysqladmin的部分使用
与mysql不同的是,mysqladmin是MySQL官方提供的shell命令行工具(mysql是连接工具),其参数都需要在shell命令行上执行。mysqladmin提供了两类参数:连接参数和命令参数,连接参数用来指定连接信息,命令参数则是服务命令。1,查看服务器状态status2,每个五秒查看一次服务器的状态,总共重复3次,3,查看服务器状态的当前值:mysqladmin -...原创 2019-12-25 16:23:55 · 378 阅读 · 0 评论 -
linux上数据库MySQL修改密码
一,知道原有密码1,在mysql系统外,使用mysqladminmysqladmin -u root -p password "test123"Enter password: 【输入原来的密码】原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。ln -s /...原创 2019-12-11 09:28:18 · 160 阅读 · 0 评论 -
MySQL多表3:多表查询操作
转载:https://blog.csdn.net/Anarkh_Lee/article/details/79856935 1.交叉连接查询(基本不会使用——得到的是两个表的乘积) 语法:select * from A,B; 2.内连接查询(使用的关键字 inner join ——inner 可以省略) 隐式内...转载 2018-12-29 18:22:35 · 186 阅读 · 0 评论 -
MySQL多表2:建表原则
转载:https://blog.csdn.net/Anarkh_Lee/article/details/79856637 1.一对多建表原则 2.多对多建表原则 3.一对一建表原则 实例: 实现多对多表1.创建主表(订单表) 2.创建主表(商品表) 3.创建从表(订单项表) 4.订单表和订单项表的主外键关系 ...转载 2018-12-29 14:43:05 · 747 阅读 · 0 评论 -
数据库查询结果去重(distinct与group by)
转载:https://blog.csdn.net/HD243608836/article/details/80088173 一般情况下,数据库去重复有以下那么三种方法:第一种: 两条记录或者多条记录的每一个字段值完全相同,这种情况去重复最简单,用关键字distinct就可以去掉。例:1SELEC...转载 2018-12-11 15:49:31 · 7398 阅读 · 2 评论 -
MySQL数据库优化的八种方式
转载https://blog.csdn.net/pt1742395895/article/details/568344521、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),...转载 2018-12-27 09:20:35 · 99 阅读 · 0 评论 -
MySQL建表规范与常见问题
转载:https://blog.csdn.net/Dreamcode/article/details/8557197一、 表设计库名、表名、字段名必须使用小写字母,“_”分割。库名、表名、字段名必须不超过12个字符。库名、表名、字段名见名知意,建议使用名词而不是动词。建议使用InnoDB存储引擎。存储精确...转载 2018-12-29 19:14:55 · 225 阅读 · 0 评论 -
MYSQL一次千万级连表查询优化(一)
转载, https://blog.csdn.net/Tim_phper/article/details/78344444 概述:交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的功能,这算是离职人员挖下的坑,随着数据越来越多,原本的SQL查询变得越来...转载 2018-12-25 12:54:13 · 206 阅读 · 0 评论 -
mysql悲观锁和乐观锁
一、悲观锁1、排它锁,当事务在操作数据时把这部分数据进行锁定,直到操作完毕后再解锁,其他事务操作才可操作该部分数据。这将防止其他进程读取或修改表中的数据。2、实现:大多数情况下依靠数据库的锁机制实现 一般使用 select ...for update 对所选择的数据进行加锁处理,例如select * from account where name=”Max” for update, 这条...原创 2018-10-31 13:53:09 · 173 阅读 · 0 评论 -
《MySQL重要知识点总结》:推荐收藏
转载:https://blog.csdn.net/qq_37929553/article/details/94760284 ...转载 2019-07-20 18:01:52 · 296 阅读 · 0 评论 -
Mysql千万级别数据批量插入insert
批量插入比单条插入速度快INSERT INTO table (field1,field2,field3) VALUES (‘a’,”b”,”c”), (‘a’,”b”,”c”),(‘a’,”b”,”c”);INSERT INTO table (field1,field2,field3) VALUES (‘a’,”b”,”c”);INSERT INTO table (field1,field2,...原创 2019-04-19 14:34:10 · 5223 阅读 · 0 评论 -
mysql explain用法和结果的含义
转自:https://blog.csdn.net/u011277123/article/details/89373272explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explai...转载 2019-04-22 09:04:43 · 145 阅读 · 0 评论 -
Mysql数据库int(1)和tinyint(1)的区别&&扩展阅读
今天看项目的数据库结构设计,发现一个奇怪的地方。`xxx_detail` `delflag` int(1) NOT NULL DEFAULT '0' COMMENT '删除标志',`xxx_category` `delflag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除标记',问题:int(1) 和 tinyint(1) 有什么区别...转载 2019-01-08 11:06:41 · 1783 阅读 · 0 评论 -
sql 查出一张表中重复的所有记录数据
sql 查出一张表中重复的所有记录数据1、写一张表中有id和name 两个字段,查询出name重复的所有数据,现在列下:select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1)2、查询出所有数据进行分组之后,和重复数据的重复次数的...转载 2019-01-08 10:58:59 · 1010 阅读 · 0 评论 -
SQL Server查询优化方法
SQL Server查询优化方法(查询速度慢的原因很多,常见如下几种)1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效应。3、没有创建计算列导致查询不优化。4、内存不足5、网络速度慢6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)8、sp_lock,s...转载 2019-01-11 10:58:54 · 450 阅读 · 0 评论 -
MYSQL一次千万级连表查询优化(二)
转载, https://blog.csdn.net/Tim_phper/article/details/78357016 概述:交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的功能,这算是离职人员挖下的坑,随着数据越来越多,原本的SQL查询变得越来越慢,用户体验特别差,因此SQL优化任务交到了我手上。 这个SQL查询...转载 2018-12-25 12:57:29 · 295 阅读 · 0 评论 -
mysl查询区分大小写
public function handle($params) { $page = $params['page_no'] ? : 1; $pagesize = 10; $pagebeigin = ($page-1) * $pagesize; $keywords = $params['search_keywords']...原创 2018-12-11 12:48:28 · 358 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
来源:https://blog.csdn.net/heiyeshuwu/article/details/9086185 摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多...转载 2018-12-15 16:40:12 · 146 阅读 · 0 评论 -
XML与数据库
转载:https://blog.csdn.net/qq_32740675/article/details/78452266 XML与数据库copyright 1999-2005 by Ronald Bourret 原作最后更新: 2005年9月 原文: www.rpbourret.com 翻译: onestab 200...转载 2018-12-15 09:30:55 · 243 阅读 · 0 评论 -
分库分表
分库分表简述MySQL分表操作和分区操作的工作原理,分别说说分区和分表的使用场景和各自的优缺点。1 分区表的原理工作原理对用户而言,分区表是一个独立的逻辑表,但是底层 MYSQL将其分成了多个物理子表,这对用户来说是透明的,每一个分区表都会使用一个独立的表文件。创建表时使用 partition by子句定义每个分区存放的数据,执行查询时,优化器会根据分区定义过滤那些没有我们需要数据的分区...原创 2018-11-17 10:43:24 · 192 阅读 · 0 评论 -
缓存穿透、缓存击穿、缓存雪崩概念及解决
缓存穿透概念访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。解决方案采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤;访问key未在DB查询到值,也将空值写进缓存,但可以设置较短过期时间。缓存雪崩概念大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩。...原创 2018-11-16 14:04:16 · 153 阅读 · 0 评论 -
一文看懂MySQL索引结构、使用策略及优化
摘要&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注...转载 2018-11-15 08:49:29 · 558 阅读 · 0 评论 -
一文看懂 MySQL事务隔离级别与锁
数据库锁共享锁(Shared lock)例1:----------------------------------------T1: select * from table (请想象它需要执行1个小时之久,后面的sql语句请都这么想象)T2: update table set column1='he...转载 2018-11-13 10:03:40 · 216 阅读 · 0 评论 -
MySQL索引优化
MySQL索引优化1,全值匹配我最爱2,最佳左前缀法则 查询从索引的最左前列开始,并且不能跳过索引中的列3,不在索引上做任何计算 会导致索引失效而导致全表扫描,其中类型转换可以查询但不能用到索引4,范围之后全失效5,尽量使用覆盖索引 避免写*6,MySQL使用不等于 会导致索引失效而转向全表扫描7,is null is not null 会导致索引失效而转向全表扫描...原创 2018-11-01 20:18:50 · 136 阅读 · 0 评论 -
编程字典-数据库学习线路图
转 编程字典-数据库学习线路图 2018年09月19日 19:30:09 hixiaoyang 阅读数:100 ...转载 2018-10-24 11:07:53 · 187 阅读 · 0 评论 -
php面试题之五——MySQL数据库(基础部分)
五、MySQL数据库mysql_num_rows()mysql_affected_rows()这两个函数都作用于 mysql_query($query)操作的结果,mysql_num_rows() 返回结果集中行的数目。mysql_affected_rows() 取得前一次 MySQL 操作所影响的记录...转载 2018-10-13 09:54:40 · 768 阅读 · 0 评论 -
sql查询字段隐藏,连表更新和case when
1 连表更新 UPDATE systrade_trade t ,sysshop_shop s SET t.shop_name = s.shop_name WHERE t.shop_id =s.shop_id 2 字段隐藏原创 2018-09-26 11:40:30 · 1224 阅读 · 0 评论 -
MySQL常见面试题
转载: http://www.cnblogs.com/frankielf0921/p/5930743.html1. 主键 超键 候选键 外键主 键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键...转载 2018-08-31 13:41:07 · 171 阅读 · 0 评论 -
mysql分区功能详细介绍,以及实例
一,什么是数据库分区前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表...转载 2018-08-31 13:40:09 · 203 阅读 · 0 评论 -
mysql集群技术:主从复制,读写分离
原文 https://blog.csdn.net/kwinH/article/details/78686934 ...转载 2018-08-31 13:37:56 · 148 阅读 · 0 评论 -
mysql探究之null与not null
转载:https://blog.csdn.net/fwkjdaghappy1/article/details/7703974相信很多用了mysql很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问:1、我字段类型是not null,为什么我可以插入空值2、为毛not null的效率比null高3、判断字段不为空的时候,...转载 2018-11-20 19:19:05 · 163 阅读 · 0 评论