sql常用命令
2023-02-22 本文已影响0人
一个健康马
SELECT 列名
FROM 表名
WHERE 条件
GROUP BY分组
HAVING 过滤条件
ORDER BY 排序列 ASC DESC
LIMIT 起始行,总条数
DISTINCT 去重
# 查询部分列
SELECT 列名 FROM 表名;
#1.4起别名
SELECT `列名` AS '别名' FROM 表名;
#1.5去重
SELECT DISTINCT `列名` FROM `表名`;
#2查询排序
SELECT 列名 FROM 表名 ORDER BY 排序列 [排序规则]; asc升序 desc逆序
#3条件查询
#逻辑判断(AND(并且)、OR(或者、包含)、NOT(排除))
#不等值判断(> 、< 、>= 、<= 、!= 、<>)
#区间判断(BETWEEN xx AND xx)
#NULL 值判断:列名 IS NULL。列名 IS NOT NULL。
#枚举查询( IN (值1,值2,值3 ) )
#模糊查询(LIKE 通配符) _ 一个占位符 % 多个占位符 %x%包含
SELECT 列名 FROM 表名 WHERE 条件;
#4分支结构查询
SELECT `列名`,
CASE
WHEN `条件` THEN '命名'
WHEN `条件` THEN '命名'
ELSE '命名'
END
FROM `表名`;
#6分组查询
分组查询中,select显示的列只能是分组依据列,或者聚合函数列,不能出现其他列
select 列名,聚合函数 from 表名 where 条件 group by 列名
#7分组过滤查询
SELECT 列名 FROM 表名 WHERE 条件 GROUP BY 分组列 HAVING 过滤规则;
#8限定查询
SELECT 列名 FROM 表名 LIMIT 起始行,查询行数;
#5mysql函数使用
#5.1时间函数
SELECT NOW();
SELECT SYSDATE();
#获取当前日期
SELECT CURDATE();
#获取当前时间
SELECT CURTIME();
#获取一年中的第几周
SELECT WEEK('2022-03-14');
#获取年份
SELECT YEAR('2022-03-14');
SELECT MONTH('2022-03-14');
SELECT DAY('2022-03-14');
SELECT HOUR('2022-03-14 16:52:11');
SELECT MINUTE('2022-03-14 16:52:11');
SELECT SECOND('2022-03-14 16:52:11');
#获取时间差
SELECT DATEDIFF('2022-03-14','2022-03-15');
#加一天
SELECT ADDDATE('2022-03-14',1);
#5.3聚合函数**
#语法:SELECT 聚合函数(列名) FROM 表名;
#sum() 和
#avg() 平均
#Max() 最高
#min() 最低
#count 数量
#非空处理**
IFNULL('字段','如果非空则是')