1. 程式人生 > 其它 >MySQL③函式、約束一覽

MySQL③函式、約束一覽

函式

MySQL 的函式: 字串函式、數值函式、日期函式、流程函式。

字串函式

功能
CONCAT(S1, S2, ... Sn) 字串拼接
LOWER(str) 字串轉小寫
UPPER(str) 字串轉大寫
LPAD(str, n, pad) 左填充,用字串 pad 對 str 的左邊填充 n 個字串長度
RPAD(str, n, pad) 右填充,用字串 pad 對str 的右邊填充 n個字串長度
TRIM(str) 去掉字串頭尾的空格
SUBSTRING(str, start, len) 子串,從 start 開始的 len 個長度

數值函式

功能
CEIL(x) 向上取整
FLOOR(x) 向下取整
MOD(x, y) x mod y
RAND() 返回0~1內的隨機數
ROUND(x, y) 四捨五入 x 的值,保留 y 位小數

日期函式

功能
CURDATE() 返回當前日期
CURTIME() 返回當前時間
NOW() 返回當前日期和時間
YEAR(date) 獲取指定date的年份
MONTH(date) 獲取指定date的月份
DAY(date) 獲取指定date的日期
DATE_ADD(date, INTERVAL exprtype) 返回一個日期/時間值加上一個時間間隔expr後的時間值
DATEDIFF(date1,date2) 返回起始時間date1 和 結束時間date2之間的天數

流程函式

功能
IF(value , t , f) 如果value為true,則返回t,否則返回 f
IFNULL(value1 , value2) 如果value1不為空,返回value1,否則返回value2
CASE WHEN [ val1 ] THEN [res1] ...ELSE [ default ] END 如果val1為true,返回res1,... 否則返回default預設值
CASE [ expr ] WHEN [ val1 ] THEN [res1] ... ELSE [ default ] END 如果expr的值等於val1,返回 res1,... 否則返回default預設值

約束

描述 關鍵字
非空約束 限制該欄位的資料不能為null NOT NULL
唯一約束 保證該欄位的所有資料都是唯一、不重複的 UNIQUE
主鍵約束 主鍵是一行資料的唯一標識,要求非空且唯一 PRIMARY KEY
預設約束 儲存資料時,如果未指定該欄位的值,則採用預設值 DEFAULT
檢查約束(8.0.16版本後) 保證欄位值滿足某一個條件 CHECK
外來鍵約束 用來讓兩張表的資料之間建立連線,保證資料的一致性和完整性 FOREIGN KEY