![](https://img-blog.csdnimg.cn/8d07c1cde37c446982e0d87f3df09c66.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
mysql
文章平均质量分 71
mysql
青霄
你好,未来…
展开
-
SQL注入
sql注入原理与防护策略原创 2021-04-02 17:29:32 · 383 阅读 · 0 评论 -
MySQL索引
任何标准表最多可以创建 16 个索引列 。1、索引是什么?为什么使用它?优缺点:索引概念: 索引是种特殊的数据库结构,由数据表中的一列或多列组合而成,可用来快速查询数据表中有某一特定值的记录。为什么使用索引: 索引可以进行数据性能调优,实现快速检索。 MYSQL通常有以下两种访问数据库表的行数据的方式: 1、顺序访问 2、索引访问简而言之,不使用索引,MySQL 就必须从第一条记录开始读完整个表,直到找出...原创 2021-04-02 16:49:34 · 161 阅读 · 0 评论 -
order by lasttime limit 10000 为什么需要limit 10000
1、数据源:获取deviceid为09CBA754DE9C4669AF49最新的主机信息mysql> select deviceid,hostname,local_ip,from_unixtime(lasttime) from hosts where instr(local_ip,"144.217");+----------------------+----------------------------------+---------------+-----------------...原创 2021-04-02 16:27:47 · 651 阅读 · 0 评论 -
MySQL count()理解
COUNT()函数有两种使用方式: count(1)与count(*)基本没区别,使用COUNT(*)对表中行的数目进行计数,不管表列值是空值(NULL)还是非空值; 使用COUNT(colum)对特定列中具有值的行进行计数,忽略NULL值的行 执行效率: 若列名为主键,count(column)会比count(1)快 若列名不为主键,count(1)比count(column)快 若表多个列并且没有主键,则 count(1)的执...原创 2021-04-02 14:48:31 · 172 阅读 · 0 评论 -
MySQL分页查询优化
背景: 使用分页是不可避免的,通常情况下我们的做法是使用limit加偏移量:select * from table where column=xxx order by xxx limit 1,20。当数据量比较小时(100万以内),无论你翻到哪一页,性能都是很快的。如果查询慢,只要在where条件和order by 的列上加上索引就可以解决。但是,当数据量大的时候(小编遇到的情况是500万数据),如果翻到最后几页,即使加了索引,查询也是非常慢的。limit分页原理 ...转载 2021-04-02 14:15:56 · 377 阅读 · 0 评论 -
left join/inner join以后数据条数比原数据表多的原因及解决办法
页面一:select vendor, application,applicationversion,filename ,fileversion, lastuse from `ASIA`.applicationswhere INSTR(vendor, "") andINSTR(application , "") andINSTR(filename, "") and lastuse< 1597741978 and lastuse> 1595149978GROUP B...原创 2021-04-01 18:26:02 · 3620 阅读 · 1 评论 -
mysql数据库 if buf[0] == 251: # \xfb IndexError: bytearray index out of range
按某一列降序可以,升序就报错:IndexError: bytearray index out of range:初始怀疑跟多线程有关(网上说法),为此验证了一番,将该部分业务接口的代码提取出来写成一个py,(服务关闭)执行后报错,断定跟多线程无关。再看一看sqlalchemy传到底层的sql是不是有问题,打开echo=True,升序时的sql语句没有问题.分解sql语句,看看到底跟哪一块有关,最终发现跟GROUP BY appname,version有关#升序不加GROUP BY.原创 2021-03-17 15:07:09 · 1560 阅读 · 0 评论 -
MySQL实现基于binlog的主从同步、主主同步
主机、备机关闭防火墙:systemctl stop firewalld.service一、工作原理1、主节点必须启用二进制日志,记录任何修改了数据库数据的事件;2、从节点开启一个线程(I/OThread)把自己扮演成mysql客户端,通过mysql协议,请求主节点的二进制日志文件中的事件;3、主节点启动一个线程(dump Thread),检查自己二进制日志中的事件,跟对方请求的位置对比,如果不带请求位置参数,则主节点就会从第一个日志文件中的第一个事件一个一个发送给从...原创 2020-12-31 14:38:10 · 699 阅读 · 0 评论 -
MySQL DML与DDL
DML( data maintain Language)DDL(Data Definition Language) DML( Data Manipulation Language),数据操作语言-数据库基本操作,SQL中处理数据等操作统称为DML,即实现了基本的“增删改查”操作,包括的关键字有:select、update、delete、insert、merge,事务提交后生效,可回滚。 DDL( Data Definition Language),数据定义语言-用于定义和...原创 2020-12-14 11:13:15 · 1108 阅读 · 0 评论 -
MySQL 购买商品价值超过一定值的人有哪些
表格有下列字段:姓名(name)商品(goods) 价格(price)每个人都买了很多的商品,问:购买价值累计超过1w的人有哪些?表格如下:1、select name,group_concat(price), SUM(price) as sum from table_name group by name; #group_concat(price)可以不用2、价值超过10的人员:select name,sum from (select name,group_con...原创 2020-12-02 17:33:39 · 441 阅读 · 0 评论 -
MySQL 解决空字符排序问题
问题:做项目时发现个问题,对版本号列排序时,界面显示5.5.53.0居然在0.0.0.2前面分析流程:原有sql写法:mysql> select vendor,application, GROUP_CONCAT(distinct applicationversion separator '-;-' ) from applications where INSTR(vendor,"") and INSTR(application,"") and (lastuse< 1590661915原创 2020-05-29 11:09:39 · 1235 阅读 · 0 评论 -
MySQL 字符串和数值比较、字符串与字符串比较
一、字符串与数字比较MySQL字符串和数字比较的坑:比较时会把字符串类型转成整数类型,从首字母开始,遇到非数字类型后终止。原文:Comparison operations result in a value of1(TRUE),0(FALSE), orNULL. These operations work for both numbers and strings. Strings are automatically converted to numbers and numbers t...原创 2020-05-29 10:59:50 · 15639 阅读 · 1 评论 -
Mysql模糊查询like提速优化
进行模糊查询的时候,很自然的会用到like语句,通常情况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级,千万级的时候,查询的效率就很容易显现出来一般情况下like模糊查询的写法为(field已建立索引):SELECT `column` FROM `table` WHERE `field` like '%keyword%';上面的语句用explain解释来看,SQL语句并未用到索引,而且是全表搜索,如果在数据量超大的时候,效率会很低。其它方法:不匹配N...原创 2020-05-28 16:54:02 · 1152 阅读 · 1 评论 -
order by a desc,b desc与order by a,b desc不同
现象:使用“order by h.lasttime desc,u.login_time desc limit 1”得到的结果中lasttime是1586334505,login_time是1586332849;使用“order by h.lasttime, u.login_time desc limit 1”得到的结果中lasttime是1585589586,login_time是1...原创 2020-04-08 17:03:06 · 2840 阅读 · 0 评论 -
MySQL {term}.format(term=terms)解决筛选问题
问题:数据表中某一字段(假设为os)的存值是各个主机的操作系统,现在想在页面中归纳操作系统,并根据归纳后的操作系统类别进行搜索,搜索项有“CentOS”、“Ubuntu”、“RedHat”、“SUSE”、“其他”,“所有”,对应的前端设计传值为“CentOS”、“Ubuntu”、“RedHat”、“SUSE”,“others”,“”数据库数据内容:mysql> ...原创 2020-04-07 15:51:55 · 378 阅读 · 0 评论 -
nginx日志中出现499状态码
参考链接:https://www.jianshu.com/p/aa5a06fef39c聊聊nginx报错499问题https://www.iteye.com/blog/kingj-1457384proxy_ignore_client_abort onhttps://blog.51cto.com/yucanghai/1713803服务器排障 之 nginx 499 错误的解决...原创 2020-02-15 11:12:50 · 2694 阅读 · 0 评论 -
mysql_使用子查询
子查询总是从内向外处理书写子查询语句时尽量格式化,看起来易理解使用子查询的地方可以使用表联结 代替对有歧义的列名进行完全限定,即where orders.cust_id = customers.cust_id场景:1、利用子查询进行过滤#列出订购物品TNT2的所有客户第一步:从表orderitems中检查包含物品TNT2的所有订单的编号第二步:从表ord...原创 2020-02-05 16:44:45 · 207 阅读 · 0 评论 -
group by与max函数配合使用问题
一张剧目演出表,表中有(剧目ID,剧目名称name,演出单位desp,票房price),问:查询出每个演出单位票房最高的剧目名称?select names,desp,max(price) from show_plan group by desp; #此法不对第二张图片对比第一张有没有发现name字段信息不对?虽然找到的是最大的price,但是与之匹配的剧目名称name...转载 2020-01-15 17:34:53 · 5378 阅读 · 3 评论 -
mysql语句中ORDER BY列不能参数化
sortfields={ 0:"hostname", 1:"lasttime", 2:"vendor", 3:"softname", 4:"softversion", 5:"filename", 6:"fileversion", 7:"sha1", 8:"out_ip", 9:"os", 10:"manufa...原创 2019-12-18 15:29:35 · 821 阅读 · 0 评论 -
mysql安装配置
1、配置环境变量我的电脑->属性->高级->环境变量->path,如:D:\mysql-5.7.25\bin2、创建my.ini在D:\mysql-5.7.25下创建my.ini,添加内容:[mysqld]#set basedir to your installation pathbasedir=D:\mysql-5.7.25#set datadi...转载 2019-01-31 09:37:54 · 91 阅读 · 0 评论 -
mysql操作时遇到错误#1064(42000)
执行脚本删除数据库下的数据表:rom diserver.statsdb import db,dbschemadef dropTable(Time,deviceid): tablename = 'di_idx_file_' + Time print(tablename) stat_db = db.StatsDatabase() with stat_db...原创 2019-01-28 16:22:14 · 4637 阅读 · 0 评论