MySQL 基礎語句

#####一、直接量mysql

select '直接量', host, user from mysql.user;

#####二、計算兩個列的合sql

select 'Totle number: ', list1+ list2 from table_name;

#####三、打印顯示列的別名函數

select list1 AS '別名' from table_name;

#####四、鏈接多個列ui

select CONCAT(list1, ' ', list2) AS '別名' from table_name;

#####五、表的別名code

select * from table_name AS 別名;   #表的別名不須要加引號

#####六、查看帶有空格的列排序

select `list name` from table_name;

##函數使用(字符函數) #####一、LEFT(顯示列最左邊的三個字符)圖片

select LEFT(listtname, 3) from table_name;

#####二、RIGHT(顯示列最右邊的三個字符)it

select RIGHT(listtname, 3) from table_name;

#####三、SUBSTRING(顯示左邊第三個字符到第八個字符的值)io

select SUBSTRING(listname, 3, 8) from table_name;

#####四、LTRIM(去掉列左邊的空格)table

select LTRIM(listname) from table_name;

#####五、RTRIM(去掉列右邊的空格)

select RTRIM(listname) from table_name;

#####六、UPPER(把全部小寫轉換爲大寫)

select UPPER(listname) from table_name;

#####七、LOWER(把全部大寫轉換爲小寫)

select LOWER(listname) from table_name;

#####八、CONCAT(鏈接多個列)

select CONCAT(list1, list2, list3, list4) from table_name;

##函數使用(複合函數)

select RIGHT(RTIRMR(listtname), 5) from table_name;

##函數使用(日期/時間函數) #####一、NOW

select NOW();

##函數使用(數值函數) #####一、ROUND(對任意數值進行四捨五入)

select ROUND(list_name, 0) from table_name;
#值爲0時,表示沒有小數位
#值爲負數時,表示對小數點左側前幾位進行四捨五入
# 值爲正數時,表示將數字四捨五入到指定的那麼多個小數位

#####二、RAND(產生一個隨機數)

select RAND();
select RAND(listname) from table_name;

#####三、PI(返回一個圓周率數值)

select PI();

#####四、CAST(轉換函數)

select CAST(listname as DATETIME) AS '別名' from table_name;

#####五、IFNULL(把一個空值轉換爲一個有意義的值)

select IFNULL(listname, 'number') from table_name;

##排序數據 #####一、ORDER BY DESC

select list1, list2 from table_name ORDER BY list1;
select list1, list2 from table_name ORDER BY list1 DESC;    #降序排序
select * from table_name ORDER BY list1, list2;   #根據多個列進行排序
select CONCAT(list1, ' ', list2) as '別名' from table_name ORDER BY 別名;  #根據計算字段和別名進行排序

##基於列的邏輯 #####一、CASE WHEN THEN ELSE END (簡單格式---對單一的列)

select CASE listtname WHEN 'V' THEN 'Version' WHEN 'S' THEN 'Some' ELSE 'Just so so' END as 'Bag' from table_name;

#####二、CASE WHEN THEN ELSE END (查詢格式---對多個列)

select CASE WHEN list1='V' THEN 'Version' WHEN list2='S' THEN 'Some' ELSE 'Just so so' END as 'Bag' from table_name;

##基於行的邏輯 #####一、WHERE

select * from list_name where user = 'root';
select * from list_name where number > 5;    #number大於5
select * from list_name where number < 5;    #number 小於5
select * from list_name where number >= 5;  #number 大於等於5
select * from list_name where number <= 5;  #number 小於等於5
select * from list_name where number != 5;   #number 不等於5

#####二、LIMIT(限制輸出行數)

select host, user from mysql.user limit 2;
select * from table_name ORDER BY list_name DESC LIMIT 5;  #對list_name進行倒序排序,只取5行數據

##布爾邏輯 一、AND OR NOT BETWEEN IN IS NULL

select * from table_name where state >= 5 AND state <=20;   #state的值大於等於5可是小於等於20
select * from table_name where state BETWEEN 5 AND 20;  #該語句同上面一條結果相同
select list1, list2 from table_name where state NOT BETWEEN state 5 AND 20;  #取反
select * from table_name where state = 'LI' OR state = 'YN';  #state值爲LI,或者state值爲YN
select * from table_name where state IN ('LI', 'YN');  #該語句同上面一條結果相同
select list1, list2 from table_name where state NOT IN ('LI', 'YN');  #取反
select list1, list2 from table_name where list_name IS NULL; #取值爲空的行
select list1, list2 from table_name where list_name IS NOT NULL #取值不爲空的行

##模糊匹配,使用表以下: 輸入圖片說明 ####一、LIKE

select * from SongTitles WHERE Artist LIKE '%Beat%' ;  #查找包含Beat的行
select * from SongTitles WHERE Artist LIKE '_he%'; #查找開頭爲任意字符,後面跟着he字符的行
# '%' 號爲任意多個字符,'_'號爲單個字符

##數據彙總, 使用表以下:Fees, Grades 輸入圖片說明

輸入圖片說明

####一、DISTINCT(消除重複)

select  DISTINCT Student from Grades;  #消除Student列的重複值
select DISTINCT CONCAT(Student, ' ', GradeType) AS 'Clear' from Grades; # 鏈接二個列,並消除重複的行

####二、SUM(計算合)

select SUM(Fee) AS 'TotalGym Fee: ' from Fees WHERE FeeType='Gym';  #計算全部學生的健身費用總合

####三、AVG(計算平均值)

select  AVG(Grade) from Grades WHERE GradeType='Quiz';  #計算Quiz的平均成績

####四、MIN(計算最小值)

select MIN(Grade) from Grades WHERE GradeType='Quiz';  #計算Quiz的最小成績

####五、MAX(計算最大值)

select MAX(Grade) from Grades WHERE GradeType='Quiz';  #計算Quiz的最大成績

####六、AVG, MIN, MAX,SUM

select AVG(Grade) AS '平均值: ', MAX(Grade) AS '最大值: ', MIN(Grade) AS '最小值: ', SUM(Grade) AS '總合: ' from Grades WHERE GradeType='Quiz';   #計算Quiz的平均值,最大值,最小值,總合。

####七、COUNT (計算行數)

select COUNT(*) from Grades WHERE GradeType ="Homework";  #顯示GradeType爲Homework的全部行數
select COUNT(DISTINCT FeeType) from Fees;    #取消FeeType列重複的值,而後計算行數

####八、GROUP BY (分組數據)

select GradeType AS 'Group: ', MAX(Grade), MIN(Grade), SUM(Grade), AVG(Grade) from Grades GROUP BY GradeType;  #根據GradeType列分組,而且計算平均值,最大值,最小值,總合。

####九、聚合查詢條件

select Student, GradeType, AVG(Grade) from Grades WHERE GradeType='Quiz' GROUP BY Student, GradeType HAVING AVG(Grade)>=71.5;  #根據Student,GradeType兩個列進行分組而且計算出平均值,而後查詢GradeType列爲‘Quiz’的行,最後顯示Grade列平均值大於71.5的行。
相關文章
相關標籤/搜索