MySQL十條特殊技巧_MySQL教程
推薦:用特殊的MySQL運(yùn)算符獲得更多數(shù)據(jù)比較功能如果你在最近進(jìn)行過SELECT或UPDATE查詢,那么你很可能用到過一個(gè)或者多個(gè)MySQL的比較運(yùn)算符來限制查詢的輸出結(jié)果。比較是大多數(shù)SELECT查詢不可分割的一部分,而MySQL為這一功能提供了很多函數(shù);根據(jù)最近一次統(tǒng)計(jì),它有超過20個(gè)這樣的運(yùn)算符和函數(shù),從著名的=和LIKE到更
MySQL易學(xué)易用,附帶豐富的技術(shù)文檔,這兩個(gè)因素使之被廣泛應(yīng)用。然而,隨著MySQL發(fā)展加快,即使一個(gè)MySQL老手有時(shí)也會(huì)為該軟件出其不意的功能感嘆。本文將為你介紹這些不為人知的特性。
以XML格式查看查詢結(jié)果
通過使用傳統(tǒng)—xml 選項(xiàng)調(diào)用MySQL命令行客戶程序,你可以以XML格式(而不是傳統(tǒng)的列表形式)來查看。
MySQL查詢結(jié)果
如果你打算將查詢輸出與其它程序集成在一起,這一技巧非常有用,這里是一個(gè)例子:
表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)
快速重建索引
通常情況下,如果你想改變服務(wù)器的全文搜索變量,你需要在表格中重新建立全文索引,以確保你的更新得到映射。這一操作將會(huì)花費(fèi)大量的時(shí)間,特別是如果你需要處理很多數(shù)據(jù)的時(shí)候。一種快速的解決。
方法是使用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é)省磁盤空間。對(duì)此可以使用包括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)。以下是一個(gè)簡單的例子:
表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 輸出文件包含一個(gè)全部SQL命令列表。如果你想將輸出文件導(dǎo)入到MySQL,這一功能非常實(shí)用,但如果目標(biāo)程序(比如Excel)不能與SQL相互通訊,這一方法將行不通。在這種情況下,可以通過告訴MySQL ,以CSV格式建立輸出文件,這種CSV格式很方便地導(dǎo)入到絕大部分的程序。這里演示了 mysqldump的操作過程:
shell> mysqldump -T .
--fields-terminated-by=", " mydbmytable
這將在當(dāng)前目錄中生成一個(gè)文本文件,包含來自mydb.mytable列表中以逗號(hào)為間隔符的記錄。
分享:MySQL數(shù)據(jù)庫中與 NULL值有關(guān)的幾個(gè)問題對(duì)于SQL的新手,NULL值的概念常常會(huì)造成混淆,他們常認(rèn)為NULL是與空字符串''相同的事。情況并非如此。例如,下述語句是完全不同的: mysql INSERT INTO my_table (phone) VALUES (NULL); mysql INSERT INTO my_table (phone) VALUES (''); 這兩條語句均會(huì)將值插入phone
- 用特殊的MySQL運(yùn)算符獲得更多數(shù)據(jù)比較功能
- MySQL數(shù)據(jù)庫中與 NULL值有關(guān)的幾個(gè)問題
- Redis SORT排序命令使用方法詳解
- mysql多表隨機(jī)查詢優(yōu)化方案
- 通過frm&ibd 恢復(fù) Mysql ibdata 丟失或損壞的數(shù)據(jù)教程
- mysql數(shù)據(jù)庫ROOT賬號(hào)權(quán)限丟失問題解決方法
- hash和solr在海量數(shù)據(jù)分布式搜索引擎中的應(yīng)用教程
- 23道安全門加鑄MySQL數(shù)據(jù)庫
- MySQL 5.0 數(shù)據(jù)庫新特性的存儲(chǔ)過程
- MySql管理的一點(diǎn)心得
- mysql導(dǎo)入數(shù)據(jù)庫文件最大限制的修改方法
- Mysql存儲(chǔ)引擎InnoDB和Myisam的六大區(qū)別
MySQL教程Rss訂閱編程教程搜索
MySQL教程推薦
猜你也喜歡看這些
- sql語句:拷貝表,復(fù)制表
- 解讀SQL Server的BUILTIN\Administrators用戶
- 談Oracle數(shù)據(jù)庫SQL語句性能調(diào)整的基本原則
- 總結(jié)經(jīng)典常用的SQL語句(1)
- 解析SQL觸發(fā)器在保持?jǐn)?shù)據(jù)庫完整性中的實(shí)際應(yīng)用
- SQL Server 2005 數(shù)據(jù)庫鏡像簡介
- 解析修復(fù)SQL Server的MDF文件的方法
- 怎樣從SQL Server備份文件導(dǎo)入現(xiàn)存數(shù)據(jù)庫
- SQL Server 2012 安裝圖解教程(附sql2012下載地址)
- 解讀SQL Server查詢含有單引號(hào)數(shù)據(jù)的方法
- 相關(guān)鏈接:
- 教程說明:
MySQL教程-MySQL十條特殊技巧
。