MySQL命令行使用过程中的小技巧
1.
mysql --xml(-X)实现以XML格式显示MySQL查询结果;
mysql --html(-H)实现以HTML格式显示MySQL查询结果;
这样的输出结果方便与其他程序集成在一起
(比如以XML格式获得的查询结果,可以方便地用于其他程序
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>show status\u003cbr\>显示更详细的信息\u003cbr\>\u003cbr\>8.\u003cbr\>自动返回CREATE TABLE代码\u003cbr\>MySQL可以获得创建表格的代码,使用命令\n\u003cbr\>mysql>SHOW CREATE TABLE table_name;\u003cbr\>\u003cbr\>9.\u003cbr\>DOS下将数据输出到文件的方法是使用重定向\u003cbr\>如\u003cbr\>shell>dir >dir.txt\u003cbr\>\u003cbr\>MySQL下将数据输出到文件的方法需要使用参数\u003cbr\>mysql>\\?或者?或者help //获取帮助信息\u003cbr\>将MySQL下的输出挂在到一个outfile的方法如下\u003cbr\>mysql>\\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>提示符\u003cWBR\>,通过prompt可以修改将提示符修改为特定的内容,比如\u003cbr\>mysql>prompt [new prompt]\u003cbr\>如果没有指定,则会恢复到默认的mysql\n\u003cbr\>举例\u003cbr\>mysql>prompt hello>\u003cbr\>会显示\u003cbr\>PROMPT set to 'hello>'\u003cbr\>hello>\u003cbr\>如果直接输入prompt,则恢复到mysql>\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>
实际使用过程中:
命令行下使用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>show status\u003cbr\>显示更详细的信息\u003cbr\>\u003cbr\>8.\u003cbr\>自动返回CREATE TABLE代码\u003cbr\>MySQL可以获得创建表格的代码,使用命令\n\u003cbr\>mysql>SHOW CREATE TABLE table_name;\u003cbr\>\u003cbr\>9.\u003cbr\>DOS下将数据输出到文件的方法是使用重定向\u003cbr\>如\u003cbr\>shell>dir >dir.txt\u003cbr\>\u003cbr\>MySQL下将数据输出到文件的方法需要使用参数\u003cbr\>mysql>\\?或者?或者help //获取帮助信息\u003cbr\>将MySQL下的输出挂在到一个outfile的方法如下\u003cbr\>mysql>\\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>提示符\u003cWBR\>,通过prompt可以修改将提示符修改为特定的内容,比如\u003cbr\>mysql>prompt [new prompt]\u003cbr\>如果没有指定,则会恢复到默认的mysql\n\u003cbr\>举例\u003cbr\>mysql>prompt hello>\u003cbr\>会显示\u003cbr\>PROMPT set to 'hello>'\u003cbr\>hello>\u003cbr\>如果直接输入prompt,则恢复到mysql>\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>