推荐:MySQL数据库中鲜为人知的技巧

2016-01-29 14:51 5 1 收藏

推荐:MySQL数据库中鲜为人知的技巧,推荐:MySQL数据库中鲜为人知的技巧

【 tulaoshi.com - MySQL 】

MySQL易学易用,且附带丰富的技术文档,这二个因素使之被广泛应用。然而,随着MySQL发展之迅速,即使一个MySQL老手有时也会为该软件出其不意的功能感叹。本文将为你介绍这些不为人知的特性。

以XML格式查看查询结果

通过使用传统—xml 选项调用MySQL命令行客户程序,你可以以XML格式(而不是传统的列表形式)来查看MySQL查询结果。如果你打算将查询输出与其它程序集成在一起,这一技巧非常有用,这里是一个例子:

表A

shell mysql --xml

mysql SELECT * FROM test.stories;




1
This is a test
2005-07-28 00:14:57



2
This is the second test
2005-07-28 00:15:11


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,这一功能非常实用,但如果目标程序(比如Excel)不能与SQL相互通讯,这一方法将行不通。在这种情况下,可以通过告诉MySQL以CSV格式建立输出文件,这种CSV格式很方便地导入到绝大部分的程序。这里演示了mysqldump的操作过程:

shell mysqldump -T . --fields-terminated-by=", " mydbmytable

这将在当前目录中生成一个文本文件,包含来自mydb.mytable列表中以逗号为间隔符的记录。

以激活strict模式减少“bad”数据的出现

MySQL服务器能够以多种不同的模式运行,而每一种都针对于特定的目的而优化。在默认情况下,没有设置模式。然而,通过在服务器命令行中添加以下选项可以很容易地改变模式的设置并将MySQL以“strict”模式运行:

shell mysqld --sql_mode="STRICT_ALL_TABLES" &

在“strict”模式下,通过MySQL的中止查询执行并返回一个错误,服务器的很多自动修正功能都被无效化。同样,该模式下也将会执行更为严格的时间检查。

监视服务器

你可以通过运行SHOW STATUS命令获得一份服务器运行与统计的报告,包括打开连接的次数,激活查询次数,服务器正常运行时间等等。例如:

表 E

mysql SHOW STATUS;
+------------------+-------+
| Variable_name| Value |
+------------------+-------+
| Aborted_clients| 0|
| Aborted_connects | 0|
...
| Uptime| 851|
+------------------+-------+
156 rows in set (0.16 sec)

自动返回CREATE TABLE代码

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=MyISAM DEFAULT CHARSET=latin1 |
+----------+---------------

来源:http://www.tulaoshi.com/n/20160129/1494501.html

延伸阅读
这是在VB.net中为连接MySql中编写的一个类库。你可以使用这个类库直接操作MySql数据库。 在使用这个类库之前,你必须安装 ODBC MYSQL 3.51下载地址:http://www.mysql.com/downloads/api-myodbc-3.51.html Driver ODBC.NET下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=6CCD8427-1017-4F33-A062-D1...
标签: Web开发
对想要在视觉化环境下制作复杂网页的专业网页制作者来说,Dreamweaver已经渐渐在网页编辑工具中展露头角,成为专业人士编写网页的最佳选择。根据Macromedia公司的调查,Dreamweaver目前已累积有超过七十万名的使用者,占有率在网页编辑工具中居冠,像“Adobe GoLive”和“NetObjects Fusion”等竞争者都被遥遥抛在后头。 因此一般地...
标签: PS PS教程
1. 图层是空的吗? 当你处理多图层文件的时候,很容易就会把图层堆得和山一样高。或许你是个漫不经心的设计师,以至于从来都不会麻烦去更改图层的名称。好吧,假设你现在想处理一下堆积如山的图层并删去那些空白的图层。等等,那些空图层真的是空的吗? 这里有一个小技巧,按住Ctrl键并单击图层缩略图,如果你看到“警告:没有像素被选中”,好...
标签: windows 操作系统
  文/刘晖 远程桌面是Windows XP Professional的新功能,通过使用该功能,我们可以通过网络从其它计算机登录到开启了远程桌面功能的计算机,查看该计算机的桌面内容,操作计算机中安装的程序,访问远程计算机上保存的所有文件。 不过该功能有一个局限性,如果已经有用户在本地登录了计算机,那么如果你要从远程登录,已经在...
Authorware 6.5 发布已经有一段日子了,不知爱好 Authorware 的朋友是否知道其中有则鲜为人知的技巧,在制作多媒体课件、多媒体光盘、多媒体游戏时可以为我们带来无比的方便,减少了繁琐的步骤,节省了时间,提高了效率! 把任意一个图标拖到流程线上,为其命名,设置其属性(图片的插入图片,声音的插入声音,视频的插入视频,等待的设...

经验教程

857

收藏

43
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部