先建表一张:
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