寫在前面
學(xué)習(xí)前端掀宋,免不了要接觸到數(shù)據(jù)庫的使用,之前拿到一本《SQL必知必會》,這本書的內(nèi)容非常的淺顯易懂痴奏,雖然是屬于入門級別蛀骇,但一些關(guān)于數(shù)據(jù)庫語言的易錯誤用點還是非常值得整理的,如下是看這本書時的一些小筆記:
1读拆、數(shù)據(jù)庫檢索結(jié)果的順序:從關(guān)系型數(shù)據(jù)庫的設(shè)計理論來看擅憔,若沒有明確指明檢索結(jié)果的數(shù)據(jù)的順序,不能夠假定搜索結(jié)果的順序有任何意義檐晕。
2暑诸、按多個列排序的實際情況:按多個列進行排序,如:
ORDER BY prod_price,prod_name;
在兩個指定的參考列中辟灰,僅當(dāng)前面的列中的某一項出現(xiàn)完全相同的情況的時候才會按章下一個指定列進行排序个榕,也就是說如果第一個指定列中的所有值都是唯一的,怎不對再按照第二個指定列對數(shù)據(jù)進行排序芥喇。按位置排序的語句如:
ORDER BY 2,3;
此方法在對數(shù)據(jù)排序時的參考對象與前面同理西采。
3、排序語句的位置問題:OEDER BY 語句必須位于 SELECT語句的最后继控,否則會出現(xiàn)錯誤械馆。
4、為什么要在數(shù)據(jù)庫中對數(shù)據(jù)進行數(shù)據(jù)操作:在數(shù)據(jù)庫服務(wù)器端對數(shù)據(jù)進行操作的性能大于在客戶端對檢索到的數(shù)據(jù)進行操作武通。
5霹崎、使用WHERE子句操作符對數(shù)據(jù)進行操作時,如果比較對象是字符應(yīng)該放在‘ ’號中間冶忱,而數(shù)值則不用尾菇。
6、BETWEEN操作符指定的是一個范圍的閉區(qū)間
7囚枪、在數(shù)據(jù)庫中NULL的特殊性派诬,它與字段包含0,、空字符眶拉,僅包含空格是完全不同的意義千埃。
8、SQL允許多個WHERE子句組合成高級的過濾語句忆植,但AND的優(yōu)先級大于OR放可,所以最好使用( )來對語句進行明確分組。
9朝刊、使用SQL中的通配符過濾數(shù)據(jù)(LIKE fish% LIKE _anything),通配符過濾僅能對文本類型字段通配符搜索耀里,同時MYSQL不支持[ ]方括號通配符。
10拾氓、通配符的使用技巧
- 通配符搜索比其他搜索更耗時間冯挎,所以盡量少用。
- 在同時要用到通配符和其他搜索方式時咙鞍,應(yīng)將通配符搜索放在搜索模式的最后房官,這樣有助于提高數(shù)據(jù)庫的搜索性能趾徽。
11、通常在數(shù)據(jù)庫服務(wù)器上可以完成很多數(shù)據(jù)轉(zhuǎn)換和格式化的工作翰守,這往往比在客戶端對數(shù)據(jù)進行操作要快得多孵奶。
未完待續(xù)....