基本查询语句
查询列
#查询所有
SELECT * from 表名
SELECT 列名,列名 from 表名#全部写出列名
#查询特定的列
SELECT 列名,列名 from 表名
#列的别名
SELECT 列名 AS '别名' from 表名
SELECT 列名 '别名' from 表名
其他用法
#查询常量值
SELECT 100;
SELECT 'john';
#查询表达式
SELECT 100%98;
#查询函数
SELECT VERSION();
#去重
SELECT DISTINCT 列名 FROM 表名;
#mysql中的+号:
select 100+90; #两个都为数值型,做加法运算
select '123'+90;#一方为字符,试图将字符转成数值
select 123+90;#转换成功,做加法运算
select 'john'+90;#转换失败,将字符转成0
select null+10; #一方为null,结果为null
#拼接
SELECT CONCAT('a','b','c') AS 结果;
SELECT CONCAT(列,列) AS 列别名 FROM 表;
过滤和排序数据
过滤
#语法(条件自由组合):
select 查询列表 from 表名 where 条件;
/*分类:
一、表达式筛选
条件运算符:> < = != <> >= <=
#安全等于:<=> 列<=>NULL;
二、逻辑表达式筛选
逻辑运算符:
&&和and:条件都为true,结果为true,反之为false
||或or:一个条件为true,结果为true,反之为false
!或not:条件本身为false,结果为true,反之为false
三、模糊查询
like
between and
in
is null
四、注
=或<>不能用于判断null值
is null或is not null 可以判断null值
#is null pk <=>
IS NULL:仅判断NULL值,可读性高,建议使用
<=> :既判断NULL值,又判断数值,可读性低
*/
排序
/*语法:
select 查询列表 from 表名 where 筛选条件
order by 排序的字段或表达式;
特点:
1、asc代表的是升序(默认),desc代表的是降序
2、order by子句可以支持 单个字段、别名、表达式、函数、多个字段
3、order by子句在查询语句的最后面,除了limit子句*/
#单个字段排序(降序)
SELECT * FROM 表名 ORDER BY 排序列 DESC;
#筛选条件再排序(降序)
SELECT * FROM 表名 WHERE 列>=90 ORDER BY 排序列 DESC;
#多个字段排序
SELECT * FROM 表 ORDER BY 排序列 DESC,排序列 ASC;#排序先后同sql语句先后
#按函数排序
SELECT LENGTH(name) FROM 表 ORDER BY LENGTH(name) DESC;#按名字的长度降序
分组查询
分组函数
/*1、概念
分组函数作用于一组数据,并对一组数据返回一个值。
2、组函数类型
功能:用作统计使用,又称为聚合函数或统计函数或组函数
分类:(前面的要放数值列)
sum求和、avg平均值、max最大值、min最小值、count计算个数*/
#3、简单使用
SELECT SUM(列) FROM 表;
SELECT AVG(列) FROM 表;
SELECT MIN(列) FROM 表;
SELECT MAX(列) FROM 表;
SELECT COUNT(列) FROM 表;
/*4、效率:
MYISAM存储引擎下 ,COUNT(*)的效率高
INNODB存储引擎下,COUNT(*)和COUNT(1)的效率差不多,比COUNT(字段)要高一些*/
分组查询sql
/*
#语法:(分组函数做筛选不能放在where后面)
select 查询列表 from 表 where 筛选条件
group by 分组的字段
order by 排序的字段;*/
#1、分组前筛选
SELECT MAX(列),分组列 FROM 表
WHERE 筛选列 筛选条件
GROUP BY 分组列;
#2、分组后筛选
SELECT COUNT(*),分组列 FROM 表
GROUP BY 分组列
HAVING COUNT(*)>5;#条件
#3.综合
SELECT 分组列,MAX(列) 列别名 FROM 表名
WHERE 筛选列 筛选条件
GROUP BY 分组列
HAVING 列别名>6000
ORDER BY 列别名;#升序
#4.多个字段分组
SELECT MIN(列),分组列1,分组列2 FROM 表
GROUP BY 分组列1,分组列2
ORDER BY MIN(列) DESC;#降序
总结
没有总结,对你有帮助就好,脑壳疼。