MySQL數(shù)據(jù)庫中常用的應用技巧有哪些?
以下的文章主要介紹的是MySQL數(shù)據(jù)庫中我們大家都知道的幾個較為特殊的實際應用技巧的介紹,如果你對其相關(guān)的實際應用技巧感興趣的話,你就可以對以下的文章點擊觀看了,望你能有所收獲。
以XML格式查看查詢結(jié)果
通過使用傳統(tǒng)—xml 選項調(diào)用MySQL命令行客戶程序,你可以以XML格式(而不是傳統(tǒng)的列表形式)來查看。
MySQL數(shù)據(jù)庫查詢結(jié)果
如果你打算將查詢輸出與其它程序集成在一起,這一技巧非常有用,這里是一個例子:
表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)
快速重建索引
通常情況下,如果你想改變服務器的全文搜索變量,你需要在表格中重新建立全文索引,以確保你的更新得到映射。這一操作將會花費大量的時間,特別是如果你需要處理很多數(shù)據(jù)的時候。一種快速的解決。
方法是使用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數(shù)據(jù)庫允許你將其壓縮以節(jié)省磁盤空間。對此可以使用包括myisampack,如下所示:
表C
- shell> myisampackmovies.MYI
- Compressing movies.MYD: (146 records)
- - Calculating statistics
- - Compressing file
- 41.05%
使用傳統(tǒng)SQL
MySQL支持SQL查詢中的傳統(tǒng)用法,支持IF與CASE結(jié)構(gòu)。以下是一個簡單的例子:
表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格式輸出表格數(shù)據(jù)
MySQL 輸出文件包含一個全部SQL命令列表。如果你想將輸出文件導入到MySQL數(shù)據(jù)庫,這一功能非常實用,但如果目標程序(比如Excel)不能與SQL相互通訊,這一方法將行不通。在這種情況下,可以通過告訴MySQL
以CSV格式建立輸出文件,這種CSV格式很方便地導入到絕大部分的程序。這里演示了 mysqldump的操作過程:
- shell> mysqldump -T .
- --fields-terminated-by=", " mydbmytable
這將在當前目錄中生成一個文本文件,包含來自mydb.mytable列表中以逗號為間隔符的記錄。
以激活strict模式減少“bad”數(shù)據(jù)的出現(xiàn)
MySQL服務器能夠以多種不同的模式運行,而每一種都針對于特定的目的而優(yōu)化。在默認情況下,沒有設置模式。然而,通過在服務器命令行中添加以下選項可以很容易地改變模式的設置并將MySQL以“strict”模式運行:
- shell> mysqld --sql_mode="STRICT_ALL_TABLES" &
在“strict”模式下,通過MySQL的中止查詢執(zhí)行并返回一個錯誤,服務器的很多自動修正功能都被無效化。同樣,該模式下也將會執(zhí)行更為嚴格的時間檢查。
監(jiān)視服務器
你可以通過運行SHOW STATUS命令獲得一份服務器運行與統(tǒng)計的報告,包括打開連接的次數(shù),激活查詢次數(shù),服務器正常運行時間等等。例如:
表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數(shù)據(jù)庫允許你自動獲得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 |
- +----------+----------------------------
- 1 row in set (0.27 sec)
建立一個更為有用的命令提示:
在缺省情況下,MySQL數(shù)據(jù)庫命令行客戶程序顯示一個簡單的mysql>提示符。然而,你可以使用特定的修改內(nèi)容來改變這一提示符使之變得更為有效,這些內(nèi)容包括:當前用戶名稱,主機名稱,以及當前選擇的數(shù)據(jù)庫。如下所示:
表G
- mysql> prompt \U:/\d>
- PROMPT set to '\U:/\d>'
- root@localhost:/db1>
以上的相關(guān)內(nèi)容就是對MySQL數(shù)據(jù)庫鮮為人知的幾個特殊技巧的介紹,望你能有所收獲。
【編輯推薦】
- MySQL 4.1 數(shù)據(jù)轉(zhuǎn)換的指導
- 備份MySQL數(shù)據(jù)庫腳本的實際應用
- 配置MySQL與卸載MySQL實操
- MySQL 修改密碼的6個好用方案
- 圖解MySQL數(shù)據(jù)庫安裝與實際操作