1.正則表達式的使用
^ |
在字符串開始處進行匹配 |
$ |
在字符串末尾處進行匹配 |
. |
匹配任意單個字符,包括換行符 |
[...] |
匹配出括號內的任意字符 |
[^...] |
匹配不出括號內的任意字符 |
a* |
匹配零個或多個a(包括空串) |
a+ |
匹配1個或多個a(不包括空串) |
a? |
匹配1個或0個a |
a1|a2 |
匹配a1或a2 |
a(m) |
匹配m個a |
a(m,) |
匹配m個或更多個a |
a(m,n) |
匹配m~n個a |
a(,n) |
匹配0~n個a |
(...) |
將模式元素組成單一元素 |
2.巧用RAND()提取隨機樣本
例如:SELECT * FROM sales ORDER BY RAND() LIMIT 5 ;
3.利用GROUP BY 的 WITH ROLLUP 子句作統計
例如SELECT year , country , product , sum(profit) FROM sales GROUP BY year , country , product WITH ROLLUP .
4.用BIT GROUP FUNCTIONS 作統計
主要介紹 GROUP BY 語句 和 BIT_AND , BIT_OR 函數完成統計工做.
BIT_* 這個函數通常是作數值之間的邏輯位運算, 可是當把它們與GROUP BY子句聯合使用的時候,就能夠作一些其餘的任務.
統計每一個用戶 買了哪些商品的詳細清單.
每一個商品按順序, 00000 , 買了的置爲1 , 這樣bit_or 就能夠作邏輯或操做
同理能夠使用BIT_AND() 來查詢 每一個顧客每次來本超市都會購買的商品.
5.數據庫名, 代表大小寫問題
數據庫對應服務器系統的目錄, 庫中的數據表對應目錄中的文件.所以所用操做系統的大小寫敏感性決定了數據庫名和表名的大小寫敏感性.
列,索引,存儲子程序,觸發器米國在任何平臺對大小寫不敏感
UNIX中,表別名區分大小寫 ; 其餘 Windows Mac OS X中對大小寫不敏感.
6.使用外鍵須要注意的問題
InnoDB 外鍵起做用,其餘引擎如MyISAM中,使用 REFERENCES tbl_name(col_name) 定義列時能夠使用外部關鍵字 , 可是沒有效果,只是用來 做爲備忘錄/註釋 來提醒用戶,這個列正指向另外一個表中的某個列.
SHOW CREATE TABLE 命令查看建表語句時, MyISAM存儲引擎並不顯示外鍵語句,而InnoDB存儲引擎則顯示.