mysql基础(五)运算符与函数

本文详细介绍SQL语言的基础操作,包括表的创建、数据插入、更新与查询,以及各种SQL函数的应用,如数学函数、字符串函数、日期函数和聚合函数等,通过实例演示如何进行数据筛选、计算和格式化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先建表一张:

CREATE TABLE no5(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(10),
	age TINYINT,
	money INT,
	tel CHAR(11)
);

插入数据:

INSERT INTO no5 VALUES(NULL,'张三',30,2000,13565234121),(NULL,'李四',23,1000,13814526352),(NULL,'王五',40,8000,13913656352),(NULL,'赵六',33,8000,1391312345)

对money字段加、减、除、乘、取余

SELECT money,money-500,money+500,money/2,money*2,money%2 FROM no5

在这里插入图片描述
查询money大于3000的信息:

SELECT * FROM no5 WHERE money>3000

在这里插入图片描述
查询money不等于八千的所有信息:

SELECT * FROM no5 WHERE money<>8000

在这里插入图片描述
查询tel不为空的信息:

SELECT * FROM no5 WHERE tel IS NOT NULL

在这里插入图片描述
查询money在500至3000之间的信息:

SELECT * FROM no5 WHERE money BETWEEN 500 AND 3000

在这里插入图片描述
查看name为张三、赵六的信息:

SELECT * FROM no5 WHERE NAME IN('张三','赵六')

在这里插入图片描述
查询name为两个字,并且以李开头的信息:

SELECT * FROM no5 WHERE NAME LIKE '张_'

在这里插入图片描述
查询tel为138开头,并且数字位数不详的信息:

SELECT * FROM no5 WHERE tel LIKE '138%'

查询money大于1000且小于3000的信息:

SELECT * FROM no5 WHERE money>1000 AND money<3000

在这里插入图片描述
查询age<30且money=8000的信息:

SELECT * FROM no5 WHERE age<30 OR money=8000

在这里插入图片描述

查询年龄不在20至25之间的信息:

SELECT * FROM no5 WHERE age NOT BETWEEN 20 AND 25

e_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dvcmlsYg==,size_16,color_FFFFFF,t_70)
在这里插入图片描述
函数:
取大于参数的最大整数:

SELECT CEIL(23.4)

不存在四舍五入
在这里插入图片描述
取小于参数的最大整数:

SELECT FLOOR(11.8)

在这里插入图片描述

对两组参数四舍五入运算,保留位依次从-2至2:

SELECT ROUND(21.49,-2),ROUND(21.49,-1),ROUND(21.49),ROUND(21.49,1),ROUND(21.49,2),ROUND(88.98,-2),ROUND(88.98,-1),ROUND(88.98),ROUND(88.98,1),ROUND(88.98,2)

在这里插入图片描述
截取运算:

SELECT TRUNCATE(21.49,1),TRUNCATE(21.49,2),TRUNCATE(21.49,-1),TRUNCATE(21.49,-2),TRUNCATE(88.98,1),TRUNCATE(88.98,2),TRUNCATE(88.98,-1)

在这里插入图片描述
取模运算(效果同取余运算%):

SELECT MOD(15.5,2),15.5 % 2

在这里插入图片描述
字符串连接符:

SELECT CONCAT('hello','world'),CONCAT_WS('*','hello','world')

在这里插入图片描述
转换大小写函数:

SELECT LOWER('Hello World'),UPPER('Hello World')

在这里插入图片描述
取字符串长度:

SELECT LENGTH('haha')

在这里插入图片描述
空格删除函数:

SELECT TRIM(' haha '),LTRIM(' haha '),RTRIM(' haha '),LENGTH(TRIM(' haha ')),LENGTH(LTRIM(' haha ')),LENGTH(RTRIM(' haha '))

在这里插入图片描述
注:trim删头尾空格,ltrim删头空格,rtrim删尾空格。
字符串截取:

SELECT SUBSTRING('hello world',5),SUBSTRING('hello world',5,3),SUBSTRING('hello world',-5,5)

在这里插入图片描述
语法格式:substring(str,开始位置,截取长度),空格也算长度。
获取指定长度字符:

SELECT LEFT(' hello world ',5),RIGHT(' hello world ',5)

在这里插入图片描述
一个从左往右,一个从右往左,空格也算长度。

字符串替换函数:

SELECT REPLACE('hello world','world','mysql');

在这里插入图片描述
语法格式:replace(str,被替换字符,替换字符)

数字格式化函数:

SELECT FORMAT(1234.5678,2),FORMAT(1234.5,2),FORMAT(1234.5678,0)

片描述
后面是保留位数参数,会进行四舍五入。
查看当前日期、当前时间、当前日期和时间:

SELECT CURDATE(),CURDATE()+0,CURTIME(),CURTIME()+0,NOW(),SYSDATE()

在这里插入图片描述
注:+0能去掉间隔符号

日期增加运算、时间增加运算:

SELECT DATE_ADD('2020-06-30',INTERVAL 15 DAY),ADDDATE('2020-06-30',INTERVAL 2 MONTH),ADDTIME('2020-06-30 15:21:45','2:40:16')

在这里插入图片描述

注:date_add等同于adddate

日期减少、时间减少运算:

SELECT DATE_SUB('2020-06-30',INTERVAL 15 DAY),SUBTIME('2020-06-30 15:21:45','2:40:16')

在这里插入图片描述
日期间隔、时间间隔、时间格式化:

SELECT DATEDIFF('2020-2-01','2015-03-16'),TIMEDIFF('15:21:45','2:40:16'),DATE_FORMAT('2020-06-30','%y/%m/%d')

在这里插入图片描述
format格式化符号如下:
在这里插入图片描述
查询信息条数,age平均值、总值、最大值、最小值:

SELECT COUNT(*) AS '总行数',AVG(age) AS '平均年龄',SUM(age) AS '总年龄',MAX(age) AS '最大年龄',MIN(age) AS '最小年龄' FROM no5

在这里插入图片描述
以上5个函数为分组函数,必须在分组之后才能执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值