初學mysql(一)

查詢語句select語法:
SELECT selection_list 選擇哪些列
FROM table_list 從何處選擇行
WHERE primary_constraint 行必須滿足什麼條件
GROUP BY grouping_columns 怎樣對結果分組
HAVING secondary_constraint 行必須滿足的第二條件
ORDER BY sorting_columns 怎樣對結果排序
LIMIT count 結果限定

注:命令要大寫!where後可匹配如下3種運算符。

表1   算術運算符
運算符
說明
運算符
說明
+
-
*
/

表2   比較運算符
運算符
說明
運算符
說明
<
<=
=
小於
小於或等於
等於
!= 或 <>
>=
>
不等於
大於或等於
大於
表3  邏輯運算符
運算符
說明
NOT或 !
OR 或 ||
AND或 &&
邏輯非
邏輯或
邏輯與

ORDER BY column_name [ASC|DESC] [,…]
其中ASC表示升序,爲默認值,DESC爲降序。ORDER BY不能按text和p_w_picpath數據類型進行排序。另外,可以根據表達式進行排序。
注意DESC關鍵詞僅適用於緊跟在它之前的列名字

GROUP BY
col_name,…
分組查詢,適合與count(*)函數配合使用。簡單的說,被分組的列如果有重複的值,只返回靠前的記錄,並且返回的記錄集是排序的。count(*)記錄非null的行數。2者結合使用,結果是被分組的列的值是唯一的,後面有數值顯示此值在表中出現過幾行。

查詢多個表,或者1個表用2次

SELECT pet.name, (TO_DAYS(date) - TO_DAYS(birth))/365 AS age, remark
-> FROM pet, event
-> WHERE pet.name = event.name AND type = "litter";
pet 和 event 2張表。  使用 pet.name和event.name ,表名.列名錶示列名。
AS 把已有函數或者列名更換一種表達名稱而已。

mysql> SELECT p1.name, p1.sex, p2.name, p2.sex, p1.species
-> FROM pet AS p1, pet AS p2
-> WHERE p1.species = p2.species AND p1.sex = "f" AND p2.sex = "m";
pet一張表。查詢匹配的species 和sex。
p1.name ,p1.sex,p2.name等等,都是虛擬一個p1的表和p2的表。
查詢用pet AS p1 或者(p2)。

以上就是select的基本用法。如有錯誤,希望和大家交流。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章