絕對值函數ABS(x)
SELECT ABS(-2); 2
獲取整數的函數 CEIL(X) 返回不小於x的最小整數值 FLOOR(X) 返回不大於x的最大整數值
SELECT CEIL(-3.35); -3
SELECT FLOOR(-3.35); -4
四捨五入函數 ROUND(X) ROUND(X,Y)保留小數點後Y位
SELECT ROUND(-1.14); -1
SELECT ROUND(1.38,1); 1.4
CONCAT(S1,S2,...)返回結果爲連接參數產生的字符串,或許有一個或多個參數。如有任何一個參數爲null,則返回null
SELECT CONCAT('MYSQL','5.5'),CONCAT('MY',NULL,'SQL'); MYSQL5.5 NULL
CONCAT_WS(X,S1,S2,...)是CONCAT()的特殊形式,第一個字符是其他參數的分隔符,可以是一個字符串,也可以是其他參數
SELECT CONCAT_WS('-','1ST','2ND','3RD'),CONCAT_WS('*','1ST',NULL,'3RD');
1ST-2ND-3RD 1ST*3RD
LOWER(STR)或者LCASE(STR)可以將字符串str中的字母字符全部轉換成小寫字母。
SELECT LOWER('BLACK'),LCASE('WELL'); black well
UPPER(STR)或者UCASE(STR)可以將字符串str中的字母字符全部轉換成大寫字母。
SELECT UPPER('black'),UCASE('Well'); BLACK WELLCURDATE() 和CURRENT_DATE()函數作用相同,將當前日期按照‘YYYY-MM-DD’或‘YYYYMMDD’格式的值返回
SELECT CURDATE(),DURDATE()+0; 2018-04-11 20180411
CURTIME()和CURRENT_TIME()函數作用相同,將當前時間以‘HH:MM:SS’或HHMMSS的格式返回
SELECT CURTIME(),CURDATE()+0; 19:38:40 193840.000000
NOW() 顯示現在的日期和時間
SELECT NOW(); 2018-04-11 19:41:56
DATE_FORMAT(date,format)根據format指定的格式顯示date值
SELECT DATE_FORMAT('1997-10-04 22:23:00','%W %M %Y') AS TIME; Saturday October 1997
查詢所有數據:SELECT *FROM 表名;
查詢指定列數據:SELECT 字段1,字段2.. FROM 表名;
查詢指定記錄:SELECT *|字段1,字段2...FROM 表名 WHERE 查詢條件;
BETWEENT AND 範圍查詢 :SELECT * FROM 表名 WHERE 字段名 BETWEEN 最小值 AND 最大值;
IN 限定範圍查詢 : SELECT *FROM 表名 WHERE 字段 IN (指定值1,指定值2..);
LIKE 匹配: SELECT * FROM 表名 WHERE 字段 LIKE '%(任意長度字符)|_(一個下劃線表示一個字符)' ; PS :z% 以z開頭 %z 以z結尾 %z% 包含z
查詢空值:SELECT * FROM 表名 WHERE 字段 IS NULL ; 非空值 IS NOT NULL;
AND多條件查詢:SELECT * FROM 表名 WHERE 條件1 AND 條件2 AND 條件3...;
OR多條件:SELECT * FROM 表名 WHERE 條件1 OR 條件2 OR 條件3....;
排序: SELECT * FROM 表名 ORDER BY 字段1,字段2 ASC(升序)|DESC(降序);
先根據字段1指定方向排序,再根據字段2指定方向排序:SELECT * FROM 表名 ORDER BY 字段1 排序方向,字段2 排序方向;
分組查詢,合併結果: SELECT s_id,GROUP_CONCAT(字段) AS 別名 FROM 表名 GROUP BY 字段 HAVING 限定條件;
右外連接語法結構:SELECT 表2.字段,字段1,字段2...FROM 表1 RIGHT OUTER JOIN 表2 ON 條件;