MySQL基础(五)- 运算符&函数

主要包括以下内容
1. 字符函数
2. 数值运算符与函数
3. 比较运算符与函数
4. 日期时间函数
5. 信息函数
6. 聚合函数
7. 加密函数

字符函数

函数名称描述函数名称描述
CONCAT()字符连接LENGTH()获取字符串长度
CONCAT_WS()使用指定的分隔符进行字符连接LTRIM()去除字符串前面空字符
FORMAT()将数字格式化RTRIM()去除字符串后面的空格
LOWER()小写TRIM()去除前面或后面的空格或者删除特定字符串
UPPER()大写SUBSTRING()截取子字符串
LEFT()从左边开始截取[NOT] LIKE模糊查询
RIGHT()从右边开始截取REPLACE()替换插件
CREATE TABLE str_test (
    first_name VARCHAR (20),
    last_name VARCHAR (20)
);

INSERT INTO str_test VALUES ('A','B'),('C','D'),('tom%','123'),(NULL,'11');
# 链接字符串
SELECT CONCAT(first_name,last_name) as full_name FROM str_test;
# 通过符号链接字符串
SELECT CONCAT_WS('-',first_name,last_name) as full_name FROM str_test;
# 格式化数字
SELECT FORMAT(12560.56,2);
# 字符串大小写的转化
SELECT LOWER('MySql');
SELECT UPPER('MySql');
#截取字符串
SELECT LEFT('Mysql',2);
SELECT RIGHT('Mysql',3);
# 获取字符串长度
SELECT LENGTH('MySql');
SELECT LENGTH('My Sql');

# 去除空格
SELECT LENGTH(LTRIM('   Mysql   '));
SELECT LENGTH(RTRIM('   Mysql   '));
SELECT LENGTH(TRIM('   Mysql   '));
# 删除特定字符串
SELECT TRIM(LEADING '?' FROM '???My??Sql???');
SELECT TRIM(BOTH '?' FROM '???My??Sql???');
SELECT TRIM(TRAILING '?' FROM '???My??Sql???');

# 替换字符
SELECT REPLACE('???My??Sql???','?','');
#截取字符串 从第几个开始,截取多少个。默认是从1开始
SELECT SUBSTRING('MySql',1,3);

SELECT 'Mysql' LIKE 'M%';
SELECT * FROM str_test WHERE first_name LIKE '%o%';
# 不把中间那个%作为通配符。%代表任意字符,_代表任意一个字符
SELECT * FROM str_test WHERE first_name LIKE '%1%%' ESCAPE '1';

数值运算符和函数

函数名称描述函数名称描述
CEIL()向上取整FLOOR()向下取整
DIV()整数除法MOD()取余数,取模运算
POWER()幂运算ROUND()四舍五入
TRUNCATE()数字截取
# 向上取整
SELECT CEIL(3.01);
# 向下取整
SELECT FLOOR(3.99);
# 整数除法
SELECT 3 DIV 4;
# 取余数
SELECT 3 MOD 4;
# 幂运算
SELECT POWER(3,2);
# 四舍五入
SELECT ROUND(125.678,2);
# 数字截取, 
SELECT TRUNCATE(125.678,-1);

MySql比较运算符和函数

名称描述
[NOT] BETWEEN…AND ..[不]再范围之内
[NOT] IN()[不]在列出的范围之内
IS [NOT] NULL[不]为空
SELECT 20 BETWEEN 1 AND 20;
SELECT 25 BETWEEN 1 AND 20;

SELECT 10 IN(5,10,15,20);
SELECT 13 IN(5,10,15,20);

SELECT * FROM str_test where first_name is NULL;

MySql日期函数

名称描述
NOW()当前日期和时间
CURDATE()当前日期
CURTIME()当前时间
DATE_ADD()日期增加
DATEDIFF()日期差值计算
DATE_FORMAT()日期格式化
# 获取当前日期、时间
SELECT NOW();
SELECT CURDATE();
SELECT CURTIME();

# 操作时间
SELECT DATE_ADD('2015-3-4',INTERVAL 365 DAY);
SELECT DATE_ADD('2015-3-4',INTERVAL -365 DAY);
SELECT DATE_ADD('2015-3-4',INTERVAL 3 WEEK);
SELECT DATE_ADD('2015-3-4',INTERVAL 3 DAY);

# 计算时间差
SELECT DATEDIFF('2013-3-12','2014-3-12');

# 格式化日期显示
SELECT DATE_FORMAT('2014-3-12','/%m/%d/%Y');

MySql信息

名称描述
CONNECTION_ID()连接ID
DATABASE()当前数据库
LAST_INSERT_ID()最后插入记录的id
USER()当前用户
VERSION()当前版本
# 连接ID
SELECT CONNECTION_ID();
# 当前数据库
SELECT DATABASE();
# 当前用户
SELECT USER();
# 当前版本
SELECT VERSION();
# 最后一次插入的主键的ID
ALTER TABLE str_test ADD id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT;
SELECT * FROM str_test;
INSERT str_test(first_name,last_name) VALUES ('AA','BB');
SELECT LAST_INSERT_ID();
# 会返回插入第一条数据对应的ID
INSERT str_test(first_name,last_name) VALUES ('CC','DD'),('EE','FF');
SELECT LAST_INSERT_ID();

聚合函数

名称描述
AVG()平均值
COUNT()计数
MAX()最大值
MIN()最小值
SUM()求和
SELECT ROUND(AVG(goods_price),2) FROM tdb_goods;
SELECT COUNT(1) FROM tdb_goods;
SELECT MAX(goods_price) FROM tdb_goods;
SELECT MIN(goods_price) FROM tdb_goods;
SELECT SUM(goods_price) FROM tdb_goods;

加密函数

名称描述
MD5()对应的MD5值
PASSWORD()设置mysql用户密码
# 获取12345 的MD5值
SELECT MD5(12345);
# 设置当前用户的密码
SET password=PASSWORD('123123')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值