??xml version="1.0" encoding="utf-8" standalone="yes"?> 以下所有命令都是在q入mysql监控器中执行的:(x)
作?自由的猪 来源: cd:数据库技? 日期:2005-11-02 今日/L? 1/810
a. show tables或show tables from database_name; // 昄当前数据?/FONT>中所有表的名U?
b. show databases; // 昄mysql中所?B>数据?/FONT>的名U?
c. show columns from table_name from database_name; 或show columns from database_name.table_name; // 昄表中列名U?
d. show grants for user_name; // 昄一个用L(fng)权限Q显C结果类ggrant 命o(h)
e. show index from table_name; // 昄表的索引
f. show status; // 昄一些系l特定资源的信息Q例如,正在q行的线E数?
g. show variables; // 昄pȝ变量的名U和?
h. show processlist; // 昄pȝ中正在运行的所有进E,也就是当前正在执行的查询。大多数用户可以查看
他们自己的进E,但是如果他们拥有process权限Q就可以查看所有h的进E,包括密码?
i. show table status; // 昄当前使用或者指定的database中的每个表的信息。信息包括表cd和表的最新更新时?
j. show privileges; // 昄服务器所支持的不同权?
k. show create database database_name; // 昄create database 语句是否能够创徏指定?B>数据?/FONT>
l. show create table table_name; // 昄create database 语句是否能够创徏指定?B>数据?/FONT>
m. show engies; // 昄安装以后可用的存储引擎和默认引擎?
n. show innodb status; // 昄innoDB存储引擎的状?
o. show logs; // 昄BDB存储引擎的日?
p. show warnings; // 昄最后一个执行的语句所产生的错误、警告和通知
q. show errors; // 只显C最后一个执行语句所产生的错?
]]>
2006-02-06 04:58 PM
本文Z介绍MySQL中十条鲜Zh知的技巧?/P>
MySQL易学易用Q且附带丰富的技术文,q二个因素之被q泛应用。然而,随着MySQL发展之迅速,即一个MySQL老手有时也会(x)软g出其不意的功能感叏V本文将Z介绍q些不ؓ(f)人知的特性?/P>
以XML格式查看查询l果
通过使用传统—xml 选项调用MySQL命o(h)行客L(fng)序,你可以以XML格式(而不是传l的列表形式)来查看MySQL查询l果。如果你打算查询输Z其它E序集成在一Pq一技巧非常有用,q里是一个例子:(x)
表A
shell> mysql --xml
mysql> SELECT * FROM test.stories;
2 rows in set (0.11 sec)
快速重建烦(ch)?/P>
通常情况下,如果你想改变服务器的全文搜烦(ch)变量Q你需要在表格中重新徏立全文烦(ch)引,以确保你的更新得到映。这一操作会(x)p大量的时_(d)特别是如果你需要处理很多数据的时候。一U快速的解决Ҏ(gu)是用REPAIR TABLE命o(h)Q以下ؓ(f)演示q程Q?/P>
表B
mysql> REPAIR TABLE content QUICK;
+-----------+--------+----------+----------+
| Table| Op| Msg_type | Msg_text |
+-----------+--------+----------+----------+
| content| repair | status| OK|
+-----------+--------+----------+----------+
1 row in set (0.05 sec)
压羃一定的表格cd
如果你处理的是只读MyISAM表格QMySQL允许你将其压~以节省盘I间。对此可以用包括myisampackQ如下所C:(x)
表C
shell> myisampackmovies.MYI
Compressing movies.MYD: (146 records)
- Calculating statistics
- Compressing file
41.05%
使用传统SQL
MySQL支持SQL查询中的传统用法Q支持IF与CASEl构。以下是一个简单的例子Q?/P>
表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输出文g包含一个全部SQL命o(h)列表。如果你惛_输出文g导入到MySQLQ这一功能非常实用Q但如果目标E序(比如Excel)不能与SQL怺通讯Q这一Ҏ(gu)行不通。在q种情况下,可以通过告诉MySQL以CSV格式建立输出文gQ这UCSV格式很方便地导入到绝大部分的E序。这里演CZ(jin)mysqldump的操作过E:(x)
shell> mysqldump -T . --fields-terminated-by=", " mydbmytable
q将在当前目录中生成一个文本文Ӟ包含来自mydb.mytable列表中以逗号为间隔符的记录?/P>
以激zstrict模式减少“bad”数据的出现
MySQL服务器能够以多种不同的模式运行,而每一U都针对于特定的目的而优化。在默认情况下,没有讄模式。然而,通过在服务器命o(h)行中d以下选项可以很容易地改变模式的设|ƈMySQL以“strict”模式运行:(x)
shell> mysqld --sql_mode="STRICT_ALL_TABLES" &
在“strict”模式下Q通过MySQL的中止查询执行ƈq回一个错误,服务器的很多自动修正功能都被无效化。同P该模式下也将?x)执行更Z格的旉(g)查?/P>
监视服务?/P>
你可以通过q行SHOW STATUS命o(h)获得一份服务器q行与统计的报告Q包括打开q接的次敎ͼȀzL询次敎ͼ服务器正常运行时间等{。例如:(x)
?E
mysql> SHOW STATUS;
+------------------+-------+
| Variable_name| Value |
+------------------+-------+
| Aborted_clients| 0|
| Aborted_connects | 0|
...
| Uptime| 851|
+------------------+-------+
156 rows in set (0.16 sec)
自动q回CREATE TABLE代码
MySQL允许你自动获得SQL命o(h)重新建立一个特定的表格。只单地q行SHOW CREATE TABLE命o(h)Qƈ查看表格建立代码Q如下所C:(x)
?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 |
+----------+-----------------------------------------
1 row in set (0.27 sec)
建立一个更为有用的命o(h)提示Q?/P>
在缺省情况下QMySQL命o(h)行客L(fng)序显CZ个简单的mysql>提示W。然而,你可以用特定的修改内容来改变这一提示W之变得更为有效,q些内容包括Q当前用户名UͼL名称Q以?qing)当前选择的数据库。如下所C:(x)
?G
mysql> prompt \U:/\d>
PROMPT set to '\U:/\d>'
root@localhost:/db1>
?A target=_blank>q里的文档文?/A>你可以获得支持MySQL客户E序更改的一个完整列表?BR>