MySQL启程学习回忆录2

本文详细介绍了SQL的基本概念,包括数据查询、运算符、表连接等核心功能,并提供了多种实用函数的用法示例。

一、数据查询

1. Subquery 子查询

简介:

出现在其他 SQL 语句内的 SELECT 子句。

语法:

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

二、运算符

1. 比较运算符

运算符↓ 关键字→ANYSOMEALL/[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()当前连接用户 IDSLECT CONNECTION_ID();
DATEEBASE()当前数据库SELECT DATEBASE();
LASET_INSERT_ID最后插入记录的 IDSELECT 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


感谢慕课平台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值