--根据函数别名排序 --排序规则,默认是升序 sleect LENGTH(NAME) nameLength from user ORDER BY nameLength DESC --特殊符号 特殊符号<=> 安全等于可以比较null和数值,正常比较null通过is null 和is not null 数值是 = <> !=和<>相同,in(1,2)是1或者2 between 1 and 10 是1~10的所有整数 IFNULL(num,0) num不为null 返回num否则返回0 --两个以上字段排序,不写默认升序 asc SELECT * FROM user ORDER BY age DESC, salary ASC; --查询年龄在20-40之间 SELECT * FROM user WHERE age BETWEEN 20 AND 40 ORDER BY age DESC --查询年龄在20-40之间 SELECT * FROM user WHERE age NOT BETWEEN 20 AND 40 ORDER BY age DESC --模糊查询 SELECT * FROM user WHERE name LIKE "%a%" ORDER BY LENGTH(name) DESC, phone ASC --函数 --单行函数 concat()字符串拼接、ifnull、length() --分组函数 --分组函数又称为统计函数、聚合函数、组函数 --拼接字符串 SELECT CONTACT(name,"--",age) FROM user; --大小写切换 SELECT UPPER(name),LOWER(type); --截取字符串,下表从1开始,从第2截取到末尾 SELECT SUBSTRING("ABCDEFG",2); --截取(1,2),从第一位开始,截取两个字符 SELECT SUBSTRING("ABCDEFG",1,2); --返回子串第一次出现的索引 SELECT INSTR("ABCDEF",'DE') --去除空格 SELECT TRIM(" DDD "); --去除a,只能去除字符串的前后,不能去除中间 SELECT TRIM('a' FROM "AaaaaBCDEFDALKDFJAaaaaaaaa"); --指定长度的左填充,格式 2222222AAA SELECT LPAD("AAA",10,"2"); --右填充 SELECT LPAD("AAA",10,"2"); --字符串替换,将A替换为UUU SELECT REPLACE("111AAA222","A","UUU") --取整数函数,四舍五入 SELECT ROUND(1.2); --保留两位小数 SELECT ROUND(1.556,2); --向上取整,返回大约等于该值的最小整数 SELECT CEIL(1.02); --向下取整,返回小于等于该值的最大整数 SELECT FLOOR(1.2); --阶段,保留小数位数 --SELECT TRUNCATE(1.34,1); --取余是1 SELECT MOD(10,3); --日期+时间 SELECT NOW(); --日期 SELECT CURDATE(); --时间 SELECT CURTIME();