本文为你介绍MySQL中十条鲜为人知的技巧。
MySQL易学易用,且附带丰富的技术文档,这二个因素使之被广泛应用。然而,随着MySQL发展之迅速,即使一个MySQL老手有时也会为该软件出其不意的功能感叹。本文将为你介绍这些不为人知的特性。 以xml格式查看查询结果 通过使用传统—xml 选项调用MySQL命令行客户程序,你可以以XML格式(而不是传统的列表形式)来查看MySQL查询结果。如果你打算将查询输出与其它程序集成在一起,这一技巧非常有用,这里是一个例子: 表A shell>mysql--xml
mysql> SELECT * FROM test.stories; <?xml version="1.0"?>
<resultset statement="SELECT * FROM test.stories"> <row> <id>1</id> <headline>This is a test</headline> <tstamp>2005-07-28 00:14:57</tstamp> </row>
<row> <id>2</id> <headline>This is the second test</headline> <tstamp>2005-07-28 00:15:11</tstamp> </row> </resultset> 2 rows 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,这一功能非常实用, |