MySQL鲜为人知的几个特殊技巧

转载 2013年12月03日 19:03:27

转自:http://database.51cto.com/art/200903/113116.htm

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

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

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

shell> mysqld --sql_mode="STRICT_ALL_TABLES" &

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

监视服务器

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

表E

Emysql> 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=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>

你知道MySQL10条鲜为人知的技巧吗

本文为你介绍MySQL中十条鲜为人知的技巧。MySQL易学易用,且附带丰富的技术文档,这二个因素使之被广泛应用。然而,随着MySQL发展之迅速,即使一个MySQL老手有时也会为该软件出其不意的功能感叹...
  • ivan820819
  • ivan820819
  • 2008年12月24日 09:23
  • 686

MySQL十条鲜为人知的特殊技巧

MySQL易学易用,附带丰富的技术文档,这两个因素使之被广泛应用。然而,随着MySQL发展加快,即使一个MySQL老手有时也会为该软件出其不意的功能感叹。本文将为你介绍这些不为人知的特性。以XML格式...
  • lpy123456
  • lpy123456
  • 2011年07月23日 17:10
  • 393

shell中的几个特殊变量

在读《Linux命令行与shell脚本编程大全》(第2版)这本书,做下笔记,以下部分代码也来源与该书 $0:程序的名字(带路径)如:/home/rich/test, 则echo $0,结果为:/hom...
  • u011931670
  • u011931670
  • 2015年11月16日 09:49
  • 286

鲜为人知的前端小知识

浏览器地址栏运行JavaScript代码 这个很多人应该还是知道的,在浏览器地址栏可以直接运行JavaScript代码,做法是以javascript:开头后跟要执行的语句。比如: javascri...
  • herott520
  • herott520
  • 2016年01月28日 16:02
  • 378

MySQL鲜为人知的10条技巧

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

告诉你一些鲜为人知的编程真相

你知道吗—— “一个卓越的车床工可以要求比一个一般的车床工多拿数倍高的工资,但一个卓越的软件写手的价值会10000倍于一个普通的写手。” ——比尔 · 盖茨 今天...
  • IT953018669
  • IT953018669
  • 2016年04月28日 14:04
  • 574

摘抄:MySQL鲜为人知的10条技巧

作者: Techrepublic.com.com 2006-02-06 04:58 PM本文为你介绍MySQL中十条鲜为人知的技巧。  MySQL易学易用,且附带丰富的技术文档,这二个因素使之被广泛应...
  • marshalzby
  • marshalzby
  • 2007年01月16日 15:02
  • 665

鲜为人知的编程真相(转)

转载自: http://bbs.itcast.cn/thread-10103-1-1.html 当程序员的经历让我知道了一些关于软件编程的事情。下面的这些事情可能会让朋友们对软件开发感到...
  • brave2211
  • brave2211
  • 2014年03月24日 11:16
  • 3082

C#特殊的技巧(C#)

1.重构 代码需做到简洁,那么就需要将相关的一组语句转移,而不要把它放到一个大的方法中从而形成一个臃肿的方法块, 对后期维护也会增加负担。这个时候我们自然而然做的事情就是重构。 在VS中,选定要转移的...
  • u010792238
  • u010792238
  • 2015年11月03日 22:14
  • 611

<mysql> 特殊技巧

添加新列序列號 http://www.jb51.net/article/87351.htm 第一种方法: select   (@i:=@i+1)   as   i,table_name.*...
  • vivianwang0709
  • vivianwang0709
  • 2016年08月08日 17:09
  • 127
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL鲜为人知的几个特殊技巧
举报原因:
原因补充:

(最多只允许输入30个字)