网络人 > 服务器技术 > 一些实用的mysql命令

一些实用的mysql命令

当你运营一个大型的MYSQL数据库站点的时候表出现现了损坏,我们如果使用phpmyadmin类型的功能修复超过1个大于1G的表,很有可能失败,遇到这样的情况我们就需要使用命令窗口去修复MYSQL的数据表。

首先打开CMD,连接到数据库;

mysql -uroot -p;

输入你的密码,然后用use命名打开数据库。

use 库名;
REPAIR TABLE 表名;

如果表只是有碎片的情况我们可以使用优化表的命令来操作:

OPTIMIZE TABLE 表名;

 mysql替换命令是比较常见的,用法如下:

UPDATE `表名` SET content = REPLACE (content, '</td>', '' ); 

 当你的数据库达到百万级后,使用下面的命令效率会低很多:

SELECT * FROM 表名 ORDER BY id LIMIT 1000, 10; 

网上很多优化的方法是这样的:

SELECT * FROM table WHERE id >= (SELECT id FROM table LIMIT 1000000, 1) LIMIT 10;

是的,速度提升到0.x秒了,看样子还行了。可是,还不是完美的! 

要充分利用索引来提升读取速度。比上面那句,还要再快5至10倍。

SELECT * FROM table WHERE id BETWEEN 1000000 AND 1000010;

另外,如果需要查询 id 不是连续的一段,最佳的方法就是先找出 id ,然后用 in 查询。

SELECT * FROM table WHERE id IN(10000, 100000, 1000000...); 

如果需要按条件查询,还需要做组合索引或者分库分表技术达到亿级小case。

今天在转换数据的时候需要在网址加个前缀;

update 表名 set url=concat('http://www.neter8.com/',url);

原来的地址比如是:seo/,使用命令后内容变成了 http://www.neter8.com/seo/ 。

有加就有减,前缀也是可以减掉的:

update 表名 set url=right(url,length(url)-2);

从左数第二位之前的字符去掉;包括第二位。 

导出整个数据库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

注意看前头,反过来就是导入了哦!

当前mysql有专门安全的导入命令:

mysql>source d:/dbname.sql

 

除非注明,网络人的文章均为原创,转载请以链接形式标明本文地址:http://www.neter8.com/server/9.html

下一篇 »:MySQL配置文件my.cnf参数优化和中文详解«上一篇:PHP生成静态HTML效率更高的方式

《一些实用的mysql命令》的网友评论(0)

感谢打赏!