mysql易学易用,附带丰富的技术文档,这两个因素使之被广泛应用。然而,随着mysql发展加快,即使一个mysql老手有时也会为该软件出其不意的功能感叹。本文将为你介绍这些不为人知的特性。
以xml格式查看查询结果
通过使用传统—xml 选项调用mysql命令行客户程序,你可以以xml格式(而不是传统的列表形式)来查看。
mysql查询结果
如果你打算将查询输出与其它程序集成在一起,这一技巧非常有用,这里是一个例子:
表a
shell> mysql --xml
mysql> select * from test.stories;
1
this is a test
2
this is the second test
2rows in set (0.11 sec)
快速重建索引
通常情况下,,如果你想改变服务器的全文搜索变量,你需要在表格中重新建立全文索引,以确保你的更新得到映射。这一操作将会花费大量的时间,特别是如果你需要处理很多数据的时候。一种快速的解决。
方法是使用repair table命令,以下为演示过程:
表b
mysql> repair table content quick;
+-----------+--------+----------+----------+
| table| op| msg_type | msg_text |
+-----------+--------+----------+----------+
| content| repair | status| ok|
+-----------+--------+----------+----------+
1 row in set (0.05 sec)
压缩一定的表格类型
如果你处理的是只读myisam表格,mysql允许你将其压缩以节省磁盘空间。对此可以使用包括myisampack,如下所示:
表c
shell> myisampackmovies.myi
compressing movies.myd: (146 records)
- calculating statistics
- compressing file
41.05%
使用传统sql
mysql支持sql查询中的传统用法,支持if与case结构。以下是一个简单的例子:
表d
mysql> select if (priv=1, 'admin', 'guest')
as usertype from privs where username = 'joe';
+----------+
| usertype |
+----------+
| admin|
+----------+
1 row in set (0.00 sec)
以csv格式输出表格数据
mysql 输出文件包含一个全部sql命令列表。如果你想将输出文件导入到mysql,这一功能非常实用,但如果目标程序(比如excel)不能与sql相互通讯,这一方法将行不通。在这种情况下,可以通过告诉mysql ,以csv格式建立输出文件,这种csv格式很方便地导入到绝大部分的程序。这里演示了 mysqldump的操作过程:
shell> mysqldump -t .
--fields-terminated-by=, mydbmytable
这将在当前目录中生成一个文本文件,包含来自mydb.mytable列表中以逗号为间隔符的记录。
