![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 66
北方的刀郎
这个作者很懒,什么都没留下…
展开
-
could not open single-table tablespace file
could not open single-table tablespace file原创 2022-04-27 10:24:49 · 900 阅读 · 0 评论 -
MySQL加索引不加索引,in,or,union all效率比较,php单独去取效率测试记录
表结构:共1005748条数据一.先测试id不加索引,随机取出500条数据:次数 in or连接 union all 连接 php 一条一条的取 sql代码或php: $rs=mysqli_query($db,'select * from test where id in('.$arr_str.')'); 'select * from test where id=1 or id=2 or id=3 ' 1 耗时0.375秒...原创 2020-11-06 20:18:58 · 1128 阅读 · 0 评论 -
mysql group by 对多个字段进行分组
在平时的开发任务中我们经常会用到MYSQL的GROUP BY分组, 用来获取数据表中以分组字段为依据的统计数据。比如有一个学生选课表,表结构如下:Table: Subject_SelectionSubject Semester Attendee---------------------------------ITB001 1 JohnITB001...转载 2019-12-10 11:45:21 · 516 阅读 · 0 评论 -
mysql一键批量备份压缩.bat可以设置windows计划任务自动备份
mysql一键批量备份压缩.bat可以设置windows计划任务自动备份原创 2020-12-03 16:05:45 · 407 阅读 · 0 评论 -
解决Can’t connect to MySQL server on ‘localhost’ (10048),
解决Can’t connect to MySQL server on ‘localhost’ (10048) 一般见于使用mysql的windows 2003服务器. 错误的出现的原因: 应用程序需要快速释放和创建新连接, 但是由于 TIME_WAIT 中存在的连接超过默认值,导致较低吞吐量. 解决方案: 和本错误密切相关的两个windows的注册表项:TcpTimedWaitDelay和MaxUserPort的值. TcpTimedWaitDelay 确定 TCP/IP 可释放已关闭连接并重用其资...原创 2021-02-22 14:34:58 · 414 阅读 · 1 评论 -
MySQL中group by 与 order by 一起使用排序问题
假设有一个表:reward(奖励表),表结构如下:CREATE TABLE test.reward ( id int(11) NOT NULL AUTO_INCREMENT, uid int(11) NOT NULL COMMENT '用户uid', money decimal(10, 2) NOT NULL COMMENT '奖励金额', datatime datetime...转载 2019-12-09 17:55:16 · 1082 阅读 · 0 评论 -
mysql中Mysql模糊查询like效率,以及更高效的写法和sql优化方法
in_array的效率in_array函数是个糟糕的选择。应该尽量用isset函数或array_key_exists函数来替代 。in_array函数的复杂度是O(n),而isset函数的复杂度是O(1)isset函数是检测变量是否设置。返回值:若变量不存在则返回FALSE若变量存在且其值为NULL,也返回FALSE若变量存在且值不为NULL,则返回TURE同时检查多个变量时,每个单项都符号上一条要求时才返回TRUE,否则结果为FALSEPHP的empty()函数格式:.原创 2021-07-29 13:57:33 · 4673 阅读 · 0 评论 -
[MySQL]快速解决"is marked as crashed and should be repaired"故障 具体报错如下: Table '.\Tablename\posts' is mar
[MySQL]快速解决"is marked as crashed and should be repaired"故障具体报错如下:Table '.\Tablename\posts' is marked as crashed and should be repaired提示说论坛的帖子表posts被标记有问题,需要修复。我记得以前也出现过类似的问题,但是只要点击Phpmy转载 2017-04-21 11:11:52 · 647 阅读 · 0 评论 -
mysql中利用函数与过程过滤html标签
如果要过滤html标签多半同学都使用php的函数了,但是大家不知道是可以直接在mysql中进行去除htm标签吧,下面一起来看看吧。mysql本身没有去除html代码的内置函数,但是在一些情况下,不得不在数据库层次提取一些去除了html代码的纯文本。经过谷歌后,找到了以下函数,经测试,可用。第二个phpmyadmin 报错。navicat 可以以SET GLOBAL lo转载 2017-04-18 13:19:05 · 1290 阅读 · 0 评论 -
inner join 与 where子句有什么区别?
导读: 一个是内连接,属于表的关系运算! 1 WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接。INNER JOIN……ON子句产生的连接称为显性连接。(其他JOIN参数也是显性连接)WHERE和INNER JOIN产生的连接关系,没有本质区别,结果也一样。但是!隐性连接随着数据库语言的规范和发展,已经逐渐被淘汰,比较新的数据库语言基本上已经抛弃了隐性连接,全部采用显性连接转载 2017-03-29 09:13:04 · 9011 阅读 · 0 评论 -
mysql 的 find_in_set函数使用方法
举个例子来说: 有个文章表里面有个type字段,他存储的是文章类型,有 1头条,2推荐,3热点,4图文 .....11,12,13等等 现在有篇文章他既是 头条,又是热点,还是图文, type中以 1,3,4的格式存储. 们我们如何用sql查找所有type中有4图文标准的文章呢?? 这就要我们的find_in_set出马的时候到了.转载 2016-09-28 09:32:43 · 364 阅读 · 0 评论 -
MySQL:比like语句更高效的写法locate position instr find_in_set(2014-05-07 17:40:04)
你是否一直在寻找比MySQL的LIKE语句更高效的方法的,下面我就为你介绍几种。LIKE语句SELECT `column` FROM `table` where `condition` like `%keyword%'事实上,可以使用 locate(position) 和 instr 这两个函数来代替一、LOCATE语句SELECT `column` from `t转载 2016-09-28 09:28:24 · 376 阅读 · 0 评论 -
MySQL中比like语句更高效的写法locate position instr find_in_set
2015-06-26 0 个评论 来源:websites 收藏 我要投稿你是否一直在寻找比MySQL的LIKE语句更高效的方法的,下面我就为你介绍几种。LIKE语句SELECT `column` FROM `table` where `condition` like`%keyword%'事实上,可以使用 locate(position) 和 instr这两个函数来代替LOC原创 2016-03-21 11:18:05 · 6264 阅读 · 1 评论 -
mysql 中的varchar255 uft-8 的格式到底能放多少汉字
在字符集为UTF-8的情况下:MySQL | ver : VARCHAR以字节为单位存储,所以假设全部为常用汉字(UTF-8 3字节编码长度),则VARCHAR(255)共可存放约85个汉字;MySQL | ver >= 4.1: VARCHAR以字符为单位存储,假设输入仍然为常用汉字,则VARCHAR(255)可以存放255个汉字。另外,据我所知,MySQL对UTF-8的支持也仅仅限于1~3字节原创 2016-03-21 11:15:57 · 11620 阅读 · 0 评论 -
预防数据库攻击的正确做法:
预防数据库攻击的正确做法:magic_quotes_gpc=On的时候,函数get_magic_quotes_gpc()就会返回1当magic_quotes_gpc=Off的时候,函数get_magic_quotes_gpc()就会返回0因此可以看出这个get_magic_quotes_gpc()函数的作用就是得到环境变量magic_quotes_gpc的值。既然在PHP6中删除了magic_qu原创 2016-03-21 11:12:39 · 924 阅读 · 0 评论 -
浅谈开启magic_quote_gpc后的sql注入攻击与防范
浅谈开启magic_quote_gpc后的sql注入攻击与防范作者: 字体:[增加 减小] 类型:转载通过启用php.ini配置文件中的相关选项,就可以将大部分想利用SQL注入漏洞的骇客拒绝于门外通过启用php.ini配置文件中的相关选项,就可以将大部分想利用SQL注入漏洞的骇客拒绝于门外。 开启magic_quote_gpc=on之后,能实现addslshes()和stripslashes()这原创 2016-03-21 11:12:37 · 1589 阅读 · 0 评论 -
mysql函数大全
mysql函数大全mysql函数大全 对于针对字符串位置的操作,第一个位置被标记为1。 ASCII(str) 返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。 mysql> select ASCII('2'); -> 50mysql> select ASCII(2); -> 50mysql> select ASCII('原创 2016-03-21 11:12:34 · 337 阅读 · 0 评论 -
修改phpMyAdmin导入SQL文件的大小限制
博客分类: 数据库sqlmysql 用phpMyAdmin导入mysql数据库时,我的10M的数据库不能导入,提示mysql数据库最大只能导入2M。 phpMyAdmin数据库导入出错: You probably tried to upload too large file. Please refer to documentation for ways to workaround this原创 2016-03-21 11:11:55 · 462 阅读 · 0 评论 -
sql语句优化:用join取代not in
写了好几个页面,速度都上不去,瓶颈在于SQL查询。太多的表,太多的not in,总是从一大推表和数据中筛选出一点数据。看了很多关于SQL优化的文章,都强烈要求不要太多使用not in查询,最好用表连接来取代它。如:select ID,name from Table_A where ID not in (select ID from Table_B)这句是最经典的not in查询了。转载 2017-05-18 16:16:54 · 4092 阅读 · 1 评论 -
Mysql模糊查询like效率,以及更高效的写法 在使用msyql进行模糊查询的时候,很自然的会用到like语句,通常情况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级,千万级的时
Mysql模糊查询like效率,以及更高效的写法在使用msyql进行模糊查询的时候,很自然的会用到like语句,通常情况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级,千万级的时候,查询的效率就很容易显现出来。这个时候查询的效率就显得很重要! 一般情况下like模糊查询的写法为(field已建立索引):SELECT `column` FROM转载 2017-06-23 09:59:03 · 16891 阅读 · 11 评论 -
mysql5.5 ,5.6 #1146 - La table 'xxxxx' n'existe pas
mysql5.5 ,5.6 备份数据库最好导出成.sql ,复制数据库文件夹容易出错,复制文件夹外,还要复制 data文件夹下的ibdata1,这里有数据库数据。 不然复制的数据库文件夹再覆盖回来就会出现:#1146 - La table 'xxx.xxxxx' n'existe pasINNODB是MYSQL数据库一种流行的数据库引擎,支持事务(行级),在企业级应用上成为可能i...转载 2019-07-15 20:21:37 · 1405 阅读 · 2 评论 -
Mysql怎样实现仅从.frm文件和.ibd文件恢复数据表?
Mysql怎样实现仅从.frm文件和.ibd文件恢复数据表?一次恢复数据库表数据的任务,在此之前感谢指导我的各位前辈。1,刚拿到数据库文件,打开里面只有frm和ibd文件 。对于数据库了解不深,而像这种恢复数据的工作也没有做过,因此首先百度了一下.frm和.ibd文件是做什么的,见下:MySQL中.frm文件:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关。...转载 2019-04-09 19:53:51 · 1334 阅读 · 0 评论 -
MySQL服务启动时,错误:1067,进程意外终止
InnoDB: Error: could not open single-table tablespace file .\we77_aimier\ims_activity_clerk_menu.ibdInnoDB: We do not continue the crash recovery, because the table may become寻找错误日志,日志默认在:C:\Progr...转载 2019-04-01 13:22:44 · 631 阅读 · 0 评论 -
mysql中下划线是特殊的,like的时候必须转义
Mysql中下划线表示匹配任意字符 例mysql> select * from student where name like'_____';假如我们要查找的名字包括5个字母,我们就可以使用特殊的字母"_"(下划线)。将列好在表student中包括5个字母学生的名字 例path0_10_1_20_1_2_30_1_40_1_6 $children ...转载 2019-01-11 14:32:06 · 990 阅读 · 0 评论 -
mysql的table is read only 解决方法
今天,在centos6下把同事给的一个数据库文件夹复制到/var/lib/mysql下,结果在修改表时,提示”table xxx is read only”的错误。首先想到的是遇到了权限问题,所以就去/var/lib/mysql查看了下,果然所有者不是mysql,权限也不正确。经过下面的步骤把问题解决了: 1、进入mysql数据库目录,使用命令”chown -R mysql <数据库...转载 2018-09-07 10:34:55 · 15895 阅读 · 1 评论 -
Mysql数据库中的字段长度是指字节还是字符?? 是指当前字符集的字符长度
MySQL 的字符大小和字符集有关,如果字符集是 ascii,保存不了中文(会显示成乱码),如果是 UTF8,每个字符是1-3个字节。用事实说话试验用的 MySQL 5.6先检查数据库字符集show variables like '%char%';结果:UTF8Variable_nameValuecharacter_set_clientutf8mb4character_set_connectio...转载 2018-03-08 14:18:10 · 2444 阅读 · 0 评论 -
MYSQL使用float类型精确查询结果为空
在MYSQL中,字段类型为float的字段,如果不指定float的长度和小数点位数,要根据float字段的值精确查找,结果会是空;原因是在mysql中,float是浮点数,Mysql存储的时候是近似值,所以用精确查找无法匹配;但可以用like去匹配。如果只用到Mysql数据库,不需要多库关联,针对小数类型的字段,可以使用decimal字段类型,decimal数据类型最多可存储 38 个数字,它存储...转载 2018-03-08 14:14:49 · 3176 阅读 · 0 评论 -
Mysql函数INSTR、LOCATE、POSITION VS LIKE
Mysql 大家都会用这样的語法:SELECT `column` FROM `table` where `condition` like `%keyword%’事实上,可以使用 locate 和 instr 这两个函数来代替SELECT `column` from `table` where locate(‘keyword’, `condition`)>0或是 loca转载 2017-11-30 11:15:42 · 757 阅读 · 0 评论 -
sql语句中当条件的数量非常大时where...in条件子句用什么更好的方法代替?
http://bbs.csdn.net/topics/390137775/EXPLAIN EXTENDEDHow to create fast database queriesPassing parameters in MySQL: IN list vs. temporary tablewith 4 commentsWhen you ne转载 2017-10-23 16:49:14 · 7152 阅读 · 0 评论 -
浅析MySQL中exists与in的使用
exists对外表用loop逐条查询,每次查询都会查看exists的条件语句,当 exists里的条件语句能够返回记录行时(无论记录行是的多少,只要能返回),条件就为真,返回当前loop到的这条记录,反之如果exists里的条 件语句不能返回记录行,则当前loop到的这条记录被丢弃,exists的条件就像一个bool条件,当能返回结果集则为true,不能返回结果集则为 false如下:转载 2017-10-23 16:38:30 · 288 阅读 · 0 评论 -
请教下关于For循环和mysql的IN查询哪种效率高一些?
一般来说是后者效率高一些。原因是这样:多次执行语句,与数据库进行了多次交互,网络传输以及mysql解析和执行sql语句都需要处理多次;for循环内执行sql语句会占用连接池连接,数据库连接池可能被耗尽。如果in的字段建了索引in也是会用到的,所以结果就如楼上所说使用for循环会多很多次query的过程,很多时间消耗在网络请求上面。一般做过代码分析的都知道,p转载 2017-10-23 16:31:26 · 8846 阅读 · 0 评论 -
phpmyadmin不需要密码登录的设置方法
phpmyadmin不需要密码登录的设置方法来源: 时间:2013-09-05 19:26:00 阅读数:26139分享到:0[导读] php教程myadmin不需要密码登录的设置方法下了下最新版的phpmyadmin 装上后输入用户名root然后点登录 (因为我在本地,所以root没有密码) 结果老是报访问被拒绝的错误 看了下权限的设置没什么问题呀, 网上php教程myadmin不需要密原创 2016-03-21 11:09:32 · 3825 阅读 · 0 评论 -
如何修改MySQL的默认ID号排序? [
如下图,ID号:00000不是排在最上面的。而是在最下面的。我不想每次都用SQL语句的 order by重排。这样会影响性能,效果也不也。如何修改MySQL的默认ID号排序? 本版精华文库|博客alter table table_name order by id; 后来在CSDN上问到了。原来这么简单。原创 2016-03-21 11:07:49 · 2181 阅读 · 0 评论 -
MySQL Order By Rand()效率
最近由于需要大概研究了一下MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。 但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是原创 2016-03-21 11:05:39 · 1919 阅读 · 0 评论 -
mysql password()函数。
password用于修改mysql的用户密码,如果是应用与web程序建议使用md5()函数, password函数旧版16位,新版41位,可用select length(password('123456'))察看。password函数加密不可逆,如果和数据库里加密后内容比较时可以采用password(pwd)==字段内容的方式;md5函数加密后32位,此加密算法不可逆,其实md5算法是信息摘原创 2016-03-21 10:52:45 · 9148 阅读 · 0 评论 -
phpmyadmin新加用户登陆不了,测试解决方案
phpmyadmin新加用户登陆不了,测试解决方案。今天在给项目配置数据库管理平台时遇到一个问题,不论怎么添加mysql用户在登陆phpmyadmin时始终无法登陆,不管准不准许为空依然报出#1045 无法登陆服务器的错误,最后打开mysql库中user表中去查看,发现了一个多余的用户, 个人理解该用户是phpmyadmin所需要的 可以准许空密码登陆的,相对来说不安全。选中删除该用户后,就可以使原创 2016-03-21 10:50:22 · 1836 阅读 · 0 评论 -
phpmyadmin 密码(如何修改phpmyadmin 密码)
未经配置的phpMyAdmin很不安全,容易受到攻击,或者根本无法正常使用,phpMyAdmin有3种授权模式: cookie: 显示一个web登录页面,输入mysql的用户名和密码,然后进入管理界面 http: 显示1个windows登录框,输入mysql的用户名和密码,然和进入管理 config: 把mysql用户名和密码直接填入config.inc.php,不显示登录界面,直接进入管理界面原创 2016-03-21 10:50:14 · 2513 阅读 · 0 评论 -
《利用phpmyadmin修改mysql的root密码》
很多人利用phpmyadmin或者命令行来修改了mysql的root密码,重启后发现mysql登录错误,这是为什么呢?修改mysql的root的密码要在mysql软件中mysql数据库里修改root的密码,还要在配置文件中修改。而且在数据库中的修改不止修改一行数据,所以千万不要手动修改,要用命令来修改。本文帮助读者解决用phpmyadmin修改root密码问题和用phpmyadmin更改root密原创 2016-03-21 10:50:11 · 339 阅读 · 0 评论 -
MYSQL的随机抽取实现方法
最近由于需要大概研究了一下MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。 但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描原创 2016-03-21 10:47:50 · 1830 阅读 · 1 评论 -
mysql replace()函数
>>replace updatedede_arctype set typedir=replace(typeidr,'{cmspath}','');<span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Arial;color:#424242;" > update en_arctype setnamer原创 2016-03-21 10:46:06 · 283 阅读 · 0 评论