先建表一张:
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个函数为分组函数,必须在分组之后才能执行。