MySQL鲜为人知的几个特殊技巧
2013-12-03 19:03
204 查看
转自:http://database.51cto.com/art/200903/113116.htm
以XML格式查看查询结果
通过使用传统—xml 选项调用MySQL命令行客户程序,你可以以XML格式(而不是传统的列表形式)来查看。
MySQL查询结果
如果你打算将查询输出与其它程序集成在一起,这一技巧非常有用,这里是一个例子:
表A
快速重建索引
通常情况下,如果你想改变服务器的全文搜索变量,你需要在表格中重新建立全文索引,以确保你的更新得到映射。这一操作将会花费大量的时间,特别是如果你需要处理很多数据的时候。一种快速的解决。
方法是使用REPAIR TABLE命令,以下为演示过程:
表B
压缩一定的表格类型
如果你处理的是只读MyISAM表格,MySQL允许你将其压缩以节省磁盘空间。对此可以使用包括myisampack,如下所示:
表C
使用传统SQL
MySQL支持SQL查询中的传统用法,支持IF与CASE结构。以下是一个简单的例子:
表D
MySQL 输出文件包含一个全部SQL命令列表。如果你想将输出文件导入到MySQL,这一功能非常实用,但如果目标程序(比如Excel)不能与SQL相互通讯,这一方法将行不通。在这种情况下,可以通过告诉MySQL
以CSV格式建立输出文件,这种CSV格式很方便地导入到绝大部分的程序。这里演示了 mysqldump的操作过程:
这将在当前目录中生成一个文本文件,包含来自mydb.mytable列表中以逗号为间隔符的记录。
以激活strict模式减少“bad”数据的出现
MySQL服务器能够以多种不同的模式运行,而每一种都针对于特定的目的而优化。在默认情况下,没有设置模式。然而,通过在服务器命令行中添加以下选项可以很容易地改变模式的设置并将MySQL以“strict”模式运行:
在“strict”模式下,通过MySQL的中止查询执行并返回一个错误,服务器的很多自动修正功能都被无效化。同样,该模式下也将会执行更为严格的时间检查。
监视服务器
你可以通过运行SHOW STATUS命令获得一份服务器运行与统计的报告,包括打开连接的次数,激活查询次数,服务器正常运行时间等等。例如:
表E
自动返回CREATE TABLE代码
MySQL允许你自动获得SQL命令重新建立一个特定的表格。只简单地运行SHOW CREATE TABLE命令,并查看表格建立代码,如下所示:
表F
建立一个更为有用的命令提示:
在缺省情况下,MySQL命令行客户程序显示一个简单的mysql>提示符。然而,你可以使用特定的修改内容来改变这一提示符使之变得更为有效,这些内容包括:当前用户名称,主机名称,以及当前选择的数据库。如下所示:
表G
以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% |
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格式输出表格数据 |
以CSV格式建立输出文件,这种CSV格式很方便地导入到绝大部分的程序。这里演示了 mysqldump的操作过程:
shell> mysqldump -T . --fields-terminated-by=", " mydbmytable |
以激活strict模式减少“bad”数据的出现
MySQL服务器能够以多种不同的模式运行,而每一种都针对于特定的目的而优化。在默认情况下,没有设置模式。然而,通过在服务器命令行中添加以下选项可以很容易地改变模式的设置并将MySQL以“strict”模式运行:
shell> mysqld --sql_mode="STRICT_ALL_TABLES" & |
监视服务器
你可以通过运行SHOW STATUS命令获得一份服务器运行与统计的报告,包括打开连接的次数,激活查询次数,服务器正常运行时间等等。例如:
表E
Emysql> SHOW STATUS; +------------------+-------+ | Variable_name| Value | +------------------+-------+ | Aborted_clients| 0| | Aborted_connects | 0| ... | Uptime| 851| +------------------+-------+ 156 rows in set (0.16 sec) |
MySQL允许你自动获得SQL命令重新建立一个特定的表格。只简单地运行SHOW CREATE TABLE命令,并查看表格建立代码,如下所示:
表F
mysql> SHOW CREATE TABLE products; --------------------------------------- | Table| Create Table +----------+--------------------------- | products | CREATE TABLE `products` ( `id` int(8) NOT NULL auto_increment, `name` varchar(255) NOT NULL default '', `price` int(10) default NULL, PRIMARY KEY(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | +----------+---------------------------- 1 row in set (0.27 sec) |
在缺省情况下,MySQL命令行客户程序显示一个简单的mysql>提示符。然而,你可以使用特定的修改内容来改变这一提示符使之变得更为有效,这些内容包括:当前用户名称,主机名称,以及当前选择的数据库。如下所示:
表G
mysql> prompt \U:/\d> PROMPT set to '\U:/\d>' root@localhost:/db1> |
相关文章推荐
- MySQL十条鲜为人知的特殊技巧
- MySQL中的几个常用技巧
- MySQL十条特殊技巧
- MySQL十条特殊技巧
- windows 7的几个鲜为人知的技巧与工具
- 你知道MySQL10条鲜为人知的技巧吗
- 你知道MySQL 10条鲜为人知的技巧吗
- mysql的几个小技巧
- 摘抄:MySQL鲜为人知的10条技巧
- <mysql> 特殊技巧
- MySQL几个技巧DDL
- mysql几个特殊有用的命令
- MySQL鲜为人知的10条技巧[转]
- 利用服务器的几个调优技巧,让 MySQL 服务器飞速运行
- mysql的几个简单实用技巧
- MySQL鲜为人知的10条技巧
- 黑马程序员——java编程那些事儿____java中几个特殊的类
- 基础MYSQl技巧集锦
- MySQL编程中的6个实用技巧
- *Linux Shell 高级编程技巧4----几个常用的shell脚本例子