真的不知道我寫了這么多不同的的學習筆記又沒用。。開始SQL零基礎學習筆記
?
百度百科:SQL(Structured?Query?Language)結構化查詢語言,是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。同時也是數據庫腳本文件的擴展名。
一個數據庫通常包含一個或多個表,表包含代有數據的記錄,在SQL記錄為行。
注:SQL語句大小寫不敏感。
1.提取數據
很重要的一個語句:select.
假設從Administrator選取所有的列
- Select?*?from?Administrator??
?
1.1WHERE語句
只在Administrator中搜索admin
- Select?*?from?Administrator?where?user='admin'??
?
附:
SQL語句之where運算符
Where子句設置查詢條件,過濾掉不需要的數據行。例如下面語句查詢年齡大于20的數據:?
?
- Select?*?FROM?usertable??Where?age>20???
Where子句可包括各種條件運算符:?
?
比較運算符(大小比較):>、>=、=、<、<=、<>、!>、!<?
范圍運算符(表達式值是否在指定的范圍):BETWEEN…AND…?
NOT?BETWEEN…AND…?
列表運算符(判斷表達式是否為列表中的指定項):IN?(項1,項2……)?
NOT?IN?(項1,項2……)?
模式匹配符(判斷值是否與指定的字符通配格式相符):LIKE、NOT?LIKE?
空值判斷符(判斷表達式是否為空):IS?NULL、NOT?IS?NULL?
邏輯運算符(用于多條件的邏輯連接):NOT、AND、OR?
?
1、范圍運算符例:age?BETWEEN?10?AND?30相當于age>=10?AND?age<=30?
?
2、列表運算符例:country?IN?(’Germany’,’China’)?
?
3、模式匹配符例:常用于模糊查找,它判斷列值是否與指定的字符串格式相匹配。可用于char、varchar、text、ntext、datetime和smalldatetime等類型查詢。?
?
可使用以下通配字符:?
?
百分號%:可匹配任意類型和長度的字符,如果是中文,請使用兩個百分號即%%。?
?
下劃線_:匹配單個任意字符,它常用來限制表達式的字符長度。?
?
方括號[]:指定一個字符、字符串或范圍,要求所匹配對象為它們中的任一個。[^]:其取值也[]?相同,但它要求所匹配對象為指定字符以外的任一個字符。?
?????比如?SELECT?*?FROM?[user]?WHERE?u_name?LIKE?’[張李王]三’?
?????將找出“張三”、“李三”、“王三”(而不是“張李王三”);?
?????如?[?]?內有一系列字符(01234、abcde之類的)則可略寫為“0-4”、“a-e”?
?????SELECT?*?FROM?[user]?WHERE?u_name?LIKE?’老[1-9]’?
?????將找出“老1”、“老2”、……、“老9”;?
?
例如:?
?
限制以Publishing結尾,使用LIKE?’%Publishing’?
?
限制以A開頭:LIKE?’[A]%’?
?
限制以A開頭外:LIKE?’[^A]%’?
?
4、空值判斷符例Where?age?IS?NULL?
?
5、邏輯運算符:優先級為NOT、AND、OR?
SQL模糊查詢,使用like比較關鍵字,加上SQL里的通配符,請參考以下:??
1、LIKE’Mc%’?將搜索以字母?Mc?開頭的所有字符串(如?McBadden)。??
2、LIKE’%inger’?將搜索以字母?inger?結尾的所有字符串(如?Ringer、Stringer)。??
3、LIKE’%en%’?將搜索在任何位置包含字母?en?的所有字符串(如?Bennet、Green、McBadden)。??
4、LIKE’_heryl’?將搜索以字母?heryl?結尾的所有六個字母的名稱(如?Cheryl、Sheryl)。??
5、LIKE’[CK]ars[eo]n’?將搜索下列字符串:Carsen、Karsen、Carson?和?Karson(如?Carson)。??
6、LIKE’[M-Z]inger’?將搜索以字符串?inger?結尾、以從?M?到?Z?的任何單個字母開頭的所有名稱(如?Ringer)。??
7、LIKE’M[^c]%’?將搜索以字母?M?開頭,并且第二個字母不是?c?的所有名稱(如MacFeather)。
2.如何選取Persons中的“Firstname”?
- Select?Firstname?from?Persons?