
MySQL
wyqwclsn
你永远不知道未来的你会有多强大
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mysql中in子查询效率优化
如下面sql语句,即便在表的数据量不大的时候,这样使用in子句的查询效率也很低 select * from table1 where id in(select id from table2 where 条件) 解决办法如下: select * from table2 where id in(select id from (select id from table2 where 条件) as tb原创 2014-10-09 14:17:39 · 839 阅读 · 0 评论 -
MySQL升级后1728错误解决方案
错误 # 1728,Cannot load from mysql.proc. The table is probably corrupted 造成原因:MySQL升级之后,没有对数据库进行升级。 解决方案:mysql_upgrade -uroot -p原创 2015-03-03 21:41:51 · 1682 阅读 · 0 评论 -
linux下mysql修改root密码
方法一:用set password命令 首先,登陆mysql mysql -uroot -p 然后执行set password命令set password for root@localhost = password('654321'); 上面例子,将root密码更改为654321 方法二:使用mysqladmin 格式为:mysqladmin -u用户名 -p旧密码 passw原创 2014-12-10 10:43:26 · 1781 阅读 · 0 评论 -
mysql实现top n查询
在MS SQL Server或Access中,若要查询前10条记录,使用top 10即可, 但是mysql中不支持这个写法,用limit 10即可以实现 LIMIT可以实现top N查询,也可以实现M至N(某一段)的记录查询 如: select * from table order by id limit 5, 10 即从第5条记录开始的10条记录。原创 2014-10-09 14:15:37 · 859 阅读 · 0 评论 -
mysql中group by 用法简介
sql语句group by 用法简介 经常很多情况下,我们用来做统计的数据表都是无比杂乱的,凡是每一条数据都是无厘头的往里插入,但是我们在按照分类或者分组来显示统计数据的时候,这个时候就要用到神奇的group by,如下: 基本语法: SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1" 引用一下在google查到的一个简单的事例, St原创 2014-10-09 14:15:34 · 512 阅读 · 0 评论 -
mysql判断一个字符串是否包含某子串
使用locate(substr,str)函数,如果包含,返回>0的数,否则返回0 例子:判断site表中的url是否包含'http://'子串,如果不包含则拼接在url字符串开头 update site set url =concat('http://',url) where locate('http://',url)=0 注意mysql中字符串的拼接不能使用加号+,用concat函数原创 2014-10-09 14:15:26 · 766 阅读 · 0 评论 -
mysql存储过程错误代码1307解决方案(转)
phpmyadmin2.11.92 --APMSEVR5.2.6 写存储过程时提示error 1307 (HY000):Failed to create procedure... ----------------------------------------------------------------------- 将phpmyadmin中的mysql数据库中的表proc删除 执行以下代转载 2014-10-09 14:14:01 · 749 阅读 · 0 评论 -
mysql中limit用法
select * from table limit m,n其中m是指记录开始的index,从0开始,表示第一条记录n是指从第m+1条开始,取n条。例:select * from tablename limit 2,4即取出第3条至第6条,4条记录select * from table limit n则默认表示从0开始,取出前n条数据原创 2014-10-09 14:18:53 · 542 阅读 · 0 评论 -
mysql去重查询
GROUP BY 语句可以实现某一列的去重查询。 如: SELECT a,b,c FROM t1 GROUP BY a,b,c 按照a、b、c去重查询。 DISTINCT 类似于 GROUP BY ,但是只能放在 SELECT 后面,被筛选的字段前面。 如: SELECT DISTINCT a,b,c FROM t1 这两个查询语句查询的结果是一样的原创 2014-10-09 14:17:27 · 1773 阅读 · 0 评论 -
mysql中查询字段为null或者不为null
mysql中查询字段为null或者不为null 在mysql中,查询某字段为空时,不可用 = null, 而是 is null,不为空则是 is not null select * from table where column is null; select * from table where column is not null;原创 2014-10-09 14:17:24 · 677 阅读 · 0 评论 -
mysql正则表达式REGEXP的使用
扩展正则表达式的一些字符是: · ‘.’匹配任何单个的字符。 · 字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的范围,使用一个“-”。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。 · “ * ”匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配任何数量的数字,而“.*”匹配任何数量的原创 2014-10-09 14:16:48 · 1031 阅读 · 0 评论 -
mysql存储过程中异常处理
在MYSQL存储过程中,如果出错会导致程序中断,需要用DECLARE handler_type来处理错误。 语法如下: DECLARE handler_type HANDLER FOR condition_value[,...] sp_statement handler_type: CONTINUE | EXIT condition_value: SQLSTATE [VALUE] sqlst原创 2014-10-09 14:16:44 · 1329 阅读 · 0 评论 -
mysql使用ROW_COUNT()返回插入、更新、删除操作影响行数
在Mysql中ROW_COUNT()返回前一个SQL进行UPDATE,DELETE,INSERT操作所影响的行数。 注意在UPDATE中,如果替换前、后值是一样的,ROW_COUNT也会返回0。 存储过程示例示例: begin insert into test values('','第一条'); if ROW_COUNT()>0 then insert into test values('',原创 2014-10-09 14:16:41 · 1921 阅读 · 0 评论 -
linux下mysql开启远程访问权限及防火墙开放3306端口
开启mysql的远程访问权限 默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。 主流的有两种方法,改表法和授权法。 相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法 1、登陆mysql mysql -u root -p 2、修改mysql库的user表,将host项,从loc原创 2014-12-10 10:58:15 · 6287 阅读 · 0 评论