欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL十条特殊技巧

程序员文章站 2024-01-31 17:39:28
...

MySQL易学易用,附带丰富的技术文档,这两个因素使之被广泛应用。然而,随着MySQL发展加快,即使一个MySQL老手有时也会为该软件出其不意的功能感叹。本文将为你介绍这些不为人知的特性。 以XML格式查看查询结果 通过使用传统xml 选项调用MySQL命令行客户程序

  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列表中以逗号为间隔符的记录。