系统运维系列 之MySQL部分学习整理2

1 字符函数使用
在这里插入图片描述
举例:
CONCAT_WS相比于CONCAT可以简化语句
SELECT CONCAT(id,’-’,age) AS path FROM user;
SELECT CONCAT_WS(’-’,id,age) AS path FROM user;
SELECT FORMAT(id,3) AS num FROM user;
SELECT LEFT(‘abcdef’,2); —> ab
在这里插入图片描述
举例:
SELECT LENGTH(TRIM(’ ABC ‘)); —> 3
删除前面和后面的?号:
SELECT TRIM(LEADING ‘?’ FROM ‘???ABC??’) —> ABC??
SELECT TRIM(TRAILING ‘?’ FROM ‘???ABC??’) —> ???ABC
SELECT TRIM(BOTH ‘?’ FROM ‘???ABC??’) —> ABC
删除字符串中的?号:
SELECT REPLACE(TRIM(BOTH ‘?’ FROM ‘???AB?C??’),’?’,’’);
字符串截取:
SELECT SUBSTRING(‘ABCDEF’,-3); —> DEF
如果字段中有‘AB%CD’,需要模糊查询此字段:
SELECT * FROM tab1 WHERE name LIKE ‘%1%%’ ESCAPE 1; //不在解析

2 数值运算符与函数
修改:幂运算 —> POWER
在这里插入图片描述
举例:
SELECT CEIL(3.001); —> 4
SELECT 10 DIV 3; —> 3
SELECT FLOOR(3.001); —> 3
SELECT TRUNCATE(123.5672,2) —> 123.56
SELECT TRUNCATE(123.5672,-1) —> 120
SELECT TRUNCATE(123.5672,-2) —> 100
SELECT TRUNCATE(123.5672,-3) —> 0

3 比较运算符与函数
在这里插入图片描述
举例:
SELECT 123 BETWEEN 122 AND 200; —> 1(是)
SELECT NULL IS NULL; —> 1
SELECT ‘NULL’ IS NULL; —> 0

4 时间日期函数
在这里插入图片描述
举例:
SELECT NOW();
SELECT DATE_ADD(‘2020-11-20’,INTERVAL 300 DAY);
SELECT DATE_ADD(‘2020-11-20’,INTERVAL -300 DAY);
SELECT DATE_ADD(‘2020-11-20’,INTERVAL 3 YEAR);
SELECT DATEDIFF(‘2020-11-20’,‘2019-11-20’);
Y和y:Y四位数的年,y代表两位数的年
SELECT DATE_FORMAT(‘2020-11-20’,’%m/%d/%Y’);

5 聚合函数
举例:
SELECT * FROM tab1 WHERE price=(SELECT MAX(price) FROM tab1); —> TRUE
SELECT id,MAX(price) FROM tab1; —> FALSE

6 加密函数
MD5()函数:
SELECT MD5(‘123456’);

7 自定义函数
7.1 两个必要条件:
函数可以返回任意类型的值,同样可以接收这些类型的参数。
7.2 语法:
在这里插入图片描述
7.3 关于函数体:
在这里插入图片描述
举例:
无参函数
CREATE FUNCTION myDate()
RETURNS VARCHAR(30)
RETURN DATE_FORMATE(NOW(),’%Y年%m月%d日 %H点%i分%s秒’);
调用:SELECT myDate();
有参函数
CREATE FUNCTION myAve(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED)
RETURNS FLOAT(10,2) UNSIGNED
RETURN (num1 + num2) / 2;
调用:SELECT myAve(50,80);
具有复合结构函数体的自定义函数
作用:插入数据并返回id号
CREATE FUNCTION add_class(class VARCHAR(20))
RETURNS INT UNSIGNED
BEGIN
INSERT class(className) VALUES(class);
RETURN LAST_INSERT_ID();
END
//
调用:
DELIMITER ; (更改执行符号的命令)
SELECT add_class(‘Python’);

参考资料:
https://www.bilibili.com/video/BV19M4y1u7mF?p=35&spm_id_from=pageDriver 搭建MySQL数据存储架构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值