MySQL命令行使用过程中的小技巧

本文介绍了MySQL命令行的多种实用技巧,包括以不同格式显示查询结果、使用EXPLAIN优化查询、快速重建索引、压缩MyISAM表、导出数据为CSV格式、获取帮助信息、监视服务器状态、自动返回CREATE TABLE代码、更改命令提示等。
MySQL命令行使用过程中的小技巧

1.
mysql --xml(-X)实现以XML格式显示MySQL查询结果;
mysql --html(-H)实现以HTML格式显示MySQL查询结果;
这样的输出结果方便与其他程序集成在一起
(比如以XML格式获得的查询结果,可以方便地用于其他程序
<wbr></wbr>,而不需要再手动构造XML格式的数据;同样,以HTML格式显示<wbr></wbr>的结果也可以直接在网页中显示,很方便)

实际使用过程中:
命令行下使用mysql -u username -p --xml
如果在PHP中建立数据库连接的时候就可以使用该选项--xml

2.
使用EXPLAIN添加在SELECT之前可以查看SELECT语<wbr></wbr>句执行的细节,方便了解对于哪些列建立索引能够提高访问速度

3.
快速重建索引
通常情况下,如果你想改变服务器的全文搜索变量,你需要在表格中重<wbr></wbr>新建立全文索引,以确保你的更新得到映射。这一操作将会花费大量的<wbr></wbr>时间,特别是如果你需要处理很多数据的时候。一种快速的解决方法是<wbr></wbr>使用REPAIR TABLE命令,以下为演示过程:
mysql> REPAIR TABLE content QUICK;
+-----------+--------+--------<wbr></wbr>--+----------+
| Table| Op| Msg_type | Msg_text |
+-----------+--------+--------<wbr></wbr>--+----------+
| content| repair | status| OK|
+-----------+--------+--------<wbr></wbr>--+----------+
1 row in set (0.05 sec)

4.
压缩一定的表格类型
如果你处理的是只读MyISAM表格,MySQL允许你将其压缩以<wbr></wbr>节省磁盘空间。对此可以使用包括myisampack,如下所示:
shell> myisampackmovies.MYI
Compressing movies.MYD: (146 records)
- Calculating statistics
- Compressing file
41.05%

5.
使用mysqldump程序可以将MySQL中的数据导出<wbr></wbr>,可以是数据库数据,或者数据库中某个数据表的数据。
输出的格式也支持很多种。
其中,以CSV格式输出表格数据,可以在Excel等应用程序中打<wbr></wbr>开。
这里演示了mysqldump的操作过程:
shell> mysqldump -T . --fields-terminated-by=", " mydb.mytable
这将在当前目录中生成一个文本文件,包含来自mydb.mytable列表中以逗号为间隔符的记录。


6.
从MySQL的命令行下获得帮助
在DOS或者Linux的终端下,获取各种MySQL的帮助命令为<wbr></wbr>:
mysql_command --help
如想获取mysql的帮助可以输入mysql help
mysqladmin --help
mysqldump --help
等。

进入到mysql>下,获取帮助的方法为
help或者\?
help contents(获取server-side命令帮助)

(注意DOS下的帮助方法是help command,如help dir)

7.
监视MySQL Server
mysql>\s或者status
--------------
mysql Ver 14.12 Distrib 5.0.45, for Win32 (ia32)

Connection id: 71
Current database:
Current user: root@localhost
SSL: Not in use
Using delimiter: ; <!-- D(["mb","\u003cbr\>Server version: 5.0.45-community-nt MySQL Community Edition (GPL)\u003cbr\>Protocol version: 10\u003cbr\>Connection: localhost via TCP/IP\n\u003cbr\>Server characterset: latin1\u003cbr\>Db characterset: latin1\u003cbr\>Client characterset: latin1\u003cbr\>Conn. characterset: latin1\u003cbr\>TCP port: 3306\u003cbr\>Uptime: 6 hours 42 min 20 sec\u003cbr\>\n\u003cbr\>Threads: 1 Questions: 744 Slow queries: 1 Opens: 50 Flush tables: 1 Open ta\u003cbr\>bles: 0 Queries per second avg: 0.031\u003cbr\>--------------\u003cbr\>mysql&gt;show status\u003cbr\>显示更详细的信息\u003cbr\>\u003cbr\>8.\u003cbr\>自动返回CREATE TABLE代码\u003cbr\>MySQL可以获得创建表格的代码,使用命令\n\u003cbr\>mysql&gt;SHOW CREATE TABLE table_name;\u003cbr\>\u003cbr\>9.\u003cbr\>DOS下将数据输出到文件的方法是使用重定向\u003cbr\>如\u003cbr\>shell&gt;dir &gt;dir.txt\u003cbr\>\u003cbr\>MySQL下将数据输出到文件的方法需要使用参数\u003cbr\>mysql&gt;\\?或者?或者help //获取帮助信息\u003cbr\>将MySQL下的输出挂在到一个outfile的方法如下\u003cbr\>mysql&gt;\\T或者tee [outfile_name] //省略outfile_name的话会挂载到上一次挂载的ou\u003cWBR\>tfile上,这样结果都会显示到outfile_name中\n\u003cbr\>取消,不让输出的结果写入outfile文件中,使用notee或\u003cWBR\>者\\t命令\u003cbr\>\u003cbr\>MySQL下导入数据库,数据表等结果,使用mysqldump导\u003cWBR\>出数据\u003cbr\>\u003cbr\>10.\u003cbr\>prompt更改命令提示\u003cbr\>默认情况下,MySQL命令行客户端程序显示mysql&gt;提示符\u003cWBR\>,通过prompt可以修改将提示符修改为特定的内容,比如\u003cbr\>mysql&gt;prompt [new prompt]\u003cbr\>如果没有指定,则会恢复到默认的mysql\n\u003cbr\>举例\u003cbr\>mysql&gt;prompt hello&gt;\u003cbr\>会显示\u003cbr\>PROMPT set to &#39;hello&gt;&#39;\u003cbr\>hello&gt;\u003cbr\>如果直接输入prompt,则恢复到mysql&gt;\u003cbr\>\u003cbr\>\u003cbr\>\n",0] ); //-->
Server version: 5.0.45-community-nt MySQL Community Edition (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
TCP port: 3306
Uptime: 6 hours 42 min 20 sec

Threads: 1 Questions: 744 Slow queries: 1 Opens: 50 Flush tables: 1 Open ta
bles: 0 Queries per second avg: 0.031
--------------
mysql>show status
显示更详细的信息

8.
自动返回CREATE TABLE代码
MySQL可以获得创建表格的代码,使用命令
mysql>SHOW CREATE TABLE table_name;

9.
DOS下将数据输出到文件的方法是使用重定向

shell>dir >dir.txt

MySQL下将数据输出到文件的方法需要使用参数
mysql>\?或者?或者help //获取帮助信息
将MySQL下的输出挂在到一个outfile的方法如下
mysql>\T或者tee [outfile_name] //省略outfile_name的话会挂载到上一次挂载的ou<wbr></wbr>tfile上,这样结果都会显示到outfile_name中
取消,不让输出的结果写入outfile文件中,使用notee或<wbr></wbr>者\t命令

MySQL下导入数据库,数据表等结果,使用mysqldump导<wbr></wbr>出数据

10.
prompt更改命令提示
默认情况下,MySQL命令行客户端程序显示mysql>提示符<wbr></wbr>,通过prompt可以修改将提示符修改为特定的内容,比如
mysql>prompt [new prompt]
如果没有指定,则会恢复到默认的mysql
举例
mysql>prompt hello>
会显示
PROMPT set to 'hello>'
hello>
如果直接输入prompt,则恢复到mysql>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值