MySQL啓程學習回憶錄2

一、數據查詢

1. Subquery 子查詢

簡介:

出現在其他 SQL 語句內的 SELECT 子句。

語法:

SELECT * FROM tbl_1 WHERE col1 = (SELECT col2 FROM tbl_2);

二、運算符

1. 比較運算符

運算符↓ 關鍵字→ ANY SOME ALL/[NOT] IN
、>、>= 最小值 最小值 最大值
<、<= 最大值 最大值 最小值
= 任意值 任意值
<>、!= 任意值

2. 便捷運算符

關鍵字 描述
[NOT] EXISTS 是否返回查詢結果記錄(boolean)
HAVING 一般結合 GROUP BY 使用對篩選查詢結果進行操作
SVG() 獲取平均值
ROUND(float_num, dot_len) 將小數 float_num 轉換小數點長度爲 dot_len 的數值
COUNT(col_name) 符合條件下 col_name 的總量

三、表連接

連接模式 描述
INNER JOIN 內連接:僅顯示符合連接條件的記錄
LEFT/RIGHT {OUTER} JOIN 左外連接:顯示左表全部及右表符合連接條件的記錄
or
右外連接:顯示右表全部及左表符合連接條件的記錄

四、函數使用

1. 字符函數

函數名稱 描述 語法示例
CONCAT() 字符連接 SELECT CONCAT({col_name1,col_name2,…);
CONCAT_WS() 使用指定的分隔符進行字符連接 SELECT CONCAT({ws_char},{col_name1,col_name2,…);
FORMAT() 數值格式化 SELECT FORMAT(float_num,dot_len);
LOWER()/UPPER() 大小寫轉換 SELECT {LOWER/UPPER}(str);
LEFT()/RIGHT() 字符截取 SELECT {LEFT/RIGHT}(str, position);
LENGTH() 獲取字符串長度(含空格) SELECT LENGTH(str);
LTRIM()/RTRIM()/TRIM() 刪除空格 SELECT {LTRIM/RTRIM/TRIM(LEADING/TRAILING/BOTH)}(str);
SUBSTRING() 字符串截取 SELECT SUBSTRING(str,start_position [,sub_len]);
[NOT] LIKE 內容匹配(%,_) SELECT str [NOT] LIKE str2 [ESCAPE char];
REPLACE() 替換字符 SELECT REPLACE(str,old_char,new_char);

2. 數值運算符與函數

函數名稱 描述 語法示例
CEIL() 進一取整 SELECT CEIL(float_num);
FLOOR() 舍一取整 SELECT FLOOR(float_num);
DIV 整數除法 SLECT num1 DIV num2;
MOD 取餘除法 SLECT num1 MOD num2;
POWER() 冪運算 SELCT POWER(num1, num2);// num1的num2次方
ROUND() 四捨五入 SELECT ROUND(num {,dot_len});// 保留小數點長度 dot_len
TRUNCATE() 數字截取 SELECT TRUNCATE(float_num, trun_len);

3. 比較運算符與函數

函數名稱 描述 語法示例
[NOT] BETWEEN…AND… [不]在範圍內 SELECT num1 [NOT] BETWEEN num2 AND num3;
[NOT] IN() [不]在列出值的範圍內 SELECT num1 [NOT] IN(num2,num3,…);
IS [NOT] NULL [不]爲空 SELECT * IS [NOT] NULL;

4. 日期時間函數

函數名稱 描述 語法示例
NOW() 當前日期時間 SELECT NOW();
CURDATE() 當前日期 SELECT CURDATE();
CURTIME() 當前時間 SELECT CURTIME();
DATE_ADD() 日期變化 SELECT DATE_ADD(date, INTERVAL add_num {DAY/WEEK/MOTH/YEAR});
DATEDIFF() 日期間隔 SELEC DATEDIFF(date1, date2);
DATE_FORMAT() 日期格式化 SELECT DATE_FORMAT(date, date_type);// eg.’%m/%d/%Y %H:%i:%s’

5. 信息函數

函數名稱 描述 語法示例
CONNECTION_ID() 當前連接用戶 ID SLECT CONNECTION_ID();
DATEEBASE() 當前數據庫 SELECT DATEBASE();
LASET_INSERT_ID 最後插入記錄的 ID SELECT LASERT_INSERT_ID();// 多條插入返回第一條
USER() 當前用戶 SELECT USER();
VERSION() MySQL 版本信息 SELECT VERSION();

6. 聚合函數

函數名稱 描述 語法示例
AVG() 平均值 SELECT AVG(num1,num2,…);
COUNT() 總數 SELECT COUNT(col_name) [AS symbol] FROM tbl_name;
MAX() 最大值 SELECT MAX(col_name) [AS symbol] FROM tbl_name;
MIN() 最小值 SELECT MIN(col_name) [AS symbol] FROM tbl_name;
SUM() 總和 SELECT SUM(num1,num2,…);

7. 加密函數

函數名稱 描述 語法示例
MD5() 信息摘要算法 SELECT MD5(value);
PASSWORD() 密碼加密計算 SET PASSWORD=PASSWORD(pwd_value);// 修改當前用戶密碼

五、UDF 自定義函數

語法

CREATE FUNCTION func_name RETURNS {STRING/INTEGER|REAL/DECIMAL} routine_body


MySQL啓程學習回憶錄1
MySQL啓程學習回憶錄2
MySQL啓程學習回憶錄3


感謝慕課平臺

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