版权声明:本文为博博原创文章,未经博博允许不得转载。 https://blog.csdn.net/u013523377/article/details/71055252
一、数据查询
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
感谢慕课平台