首先,下面是使用
https://dev.mysql.com/doc/index-other.html
裡的world database
1. SHOW
https://dev.mysql.com/doc/index-other.html
裡的world database
1. SHOW
SHOW DATABASES 顯示所有在系統中的資料庫
SHOW TABLES 顯示該資料庫中的所有資料表(要先用USE database_name指定現在處理哪個資料庫 )
SHOW COLUMNS FROM table_name 顯示table_name表的欄位結構
2.DISTINCT
搭配SELECT使用,可把重複的資料行濾掉
EX:
如果指定兩個以上的欄位,只要其中一個欄位沒重複,就會出現
3.LIMIT
限制查詢結果的長度,也可跳過幾行
EX:
從country表中取出第9~11行(從第9行開始取三行)
一般SELECT沒用LIMIT,可以看作是LIMIT 0;(SQL也是0為第一個數字)
4.ORDER BY
搭配SELECT使用,排列查詢出來的結果,ASC為由小到大排列,DESC反之
EX:
從country表中取出所有欄位的資料,按照人口數量,由大到小排列
若ORDER BY 兩個欄位以上,用逗號隔開,則由先出現的欄位優先進行排列
5.WHERE
搭配SELECT使用,用來限定額外過濾條件
EX:
取出continent欄位是asia的資料列
6.BETWEEN
用來指定區間條件
EX:
取出人口數為300萬~1000萬之間的國家資料列
7.IN
用來取代多個等於
EX
反之使用NOT IN
8.CONCAT函數
用來將多個欄位連接成一個欄位顯示(不太實用的樣子)
EX
把name欄位跟region欄位中間用逗號隔開,放在一起,然後列出來
9.AS
用來改變結果的欄位名稱(也是不太實用的樣子)
EX
10.UPPER LOWER函數
用來改成大寫小寫
EX
11.AVG 函數
取平均值
EX:
會得到每個國家人口數的平均,結果只有一列
如果要取出人口數大於平均人口數的國家:
12.SQRT 函數
開根號
EX:
13.SUM 函數
加總
EX
結果大概60億
14.LIKE
搭配WHERE使用,可過濾出符合指定樣式的值,文字、數字都可以比對
‘_’ 一個底線代表1個任意字元
‘%’ 一個百分號代表連續的任意個任意字元
EX:
取出人口數是5開頭的國家
取出國家名稱是B開頭後5個字母的國家
15.MIN MAX函數
取最小值、最大值
EX:
SELECT * FROM `country` WHERE population/surfacearea = (SELECT MAX(population / surfacearea) FROM country)
取出人口密度(population / surfacearea)最大的國家的資料
16.JOIN
搭配SELECT,查詢多個表
EX:
country.code,
country.name AS 'country_name',
city.name AS 'city_name',
country.population AS 'country_population',
city.population AS'city_population',
city.population*100/country.population AS 'population_percentage(%)'
FROM country JOIN city ON country.code = city.countrycode
取出從country和city兩個表中,取出國家代碼及其名字和人口,外加計算城市人口佔國家人口的百分比
沒有留言:
張貼留言