自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL鮮為人知的幾個特殊技巧

數據庫 MySQL 數據庫運維
MySQL易學易用,附帶豐富的技術文檔,這兩個因素使之被廣泛應用。然而,隨著MySQL發(fā)展加快,即使一個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允許你將其壓縮以節(jié)省磁盤空間。對此可以使用包括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服務器能夠以多種不同的模式運行,而每一種都針對于特定的目的而優(yōu)化。在默認情況下,沒有設置模式。然而,通過在服務器命令行中添加以下選項可以很容易地改變模式的設置并將MySQL以“strict”模式運行:

shell> mysqld --sql_mode="STRICT_ALL_TABLES" &

在“strict”模式下,通過MySQL的中止查詢執(zhí)行并返回一個錯誤,服務器的很多自動修正功能都被無效化。同樣,該模式下也將會執(zhí)行更為嚴格的時間檢查。

監(jiān)視服務器

你可以通過運行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>

【編輯推薦】

  1. 最簡單刪除SQL Server中所有數據的方法
  2. 使用SQL Server 2008的FILESTREAM特性管理文件
  3. SQL Server 2005中XML操作函數詳解
責任編輯:彭凡 來源: IT專家網論壇
相關推薦

2012-05-04 08:16:47

Windows XP

2014-04-22 16:38:12

GitHubGitHub 使用技巧

2022-05-30 09:01:13

CSS技巧前端

2023-04-23 15:11:26

2019-12-12 20:49:05

JavaScript語言運算符

2024-03-04 16:32:02

JavaScript運算符

2019-10-27 23:36:02

Python數據分析數據

2019-11-20 10:54:32

Python數據結構數據庫

2010-01-07 10:05:51

IT顧問特質

2024-09-26 16:28:42

Pythonif代碼

2016-05-03 10:19:04

H5技巧干貨

2011-05-03 13:13:52

編程PHPJava

2009-12-15 09:51:23

網吧路由器

2019-12-06 14:30:41

GNU調試器GDB修復代碼

2009-07-09 17:38:35

2009-09-14 09:45:20

Chrome谷歌操作系統

2014-07-29 14:25:43

Unix命令

2019-10-08 16:24:33

Chrome瀏覽器

2017-11-08 14:55:16

Linux命令sudo

2015-08-18 10:57:52

機房制冷數據中心
點贊
收藏

51CTO技術棧公眾號