查询表的所有数据
一:Select * from 表名;(优点:更加便捷)
二:select 所有列名 from 表名(优点:效率更快)
查询表的部分列的数据
Select 列名 from 表名;
根据条件查询表的数据
Select * from 表名 where 条件
查询常量值
Select 类型;
例:select 100;
例:select ‘张三’;
查询表达式
Select 表达式
例:select 100+21;
别名
一:使用as
SELECT 100%98 AS别名;
SELECT 列名AS别名,列名 AS 别名FROM表名;
二:使用空格
SELECT 列名 别名,列名 别名FROM 表名;
去重(DISTINCT)
SELECT DISTINCT 列名FROM表名;
+号的作用
在java中既可以做运算符可可以连接字符串
例:system.out.printIn(100+10);结果为110
例:system.out.printIn(“嘀嘀嘀”+”嗡嗡嗡”);结果为嘀嘀嘀嗡嗡嗡
在mysql中只能做运算符使用
例:select ‘张三’+1;结果为0?? 类型不同转换失败则为0
例:select null+10;结果为null??? 只要一方为null则结果都为null
Concat连接关键字
SELECT CONCAT(字符串或者数值类型) AS别名;(字符串类型要加单引号)
例:SELECT CONCAT('a','b','c') AS 结果;结果为abc
简单运算符:> ?< = ?!= ?<? > ?>= ?<=
逻辑运算符
作用:用于连接条件表达式
&& || !
and or not
&&和and:两个条件都为true,结果为true,反之为false
||或or: 只要有一个条件为true,结果为true,反之为false
!或not: 如果连接的条件本身为false,结果为true,反之为false
模糊查询(like)
Select * from 表名 where 列名 like ‘%要模糊查询的值%’
例:模糊查询第二个字符为红的数据
Select * from m_user where like ‘_红%’;
Between和 and的使用
例:查询id在100到120之间的用户信息
And做法:
SELECT * FROM ?m_user ?WHERE ?id <= 120 AND ?id>=100;:
Between做法:
SELECT * FROM m_user WHERE id BETWEEN 100 AND 120;
In的使用
例:查询用户id为1、2、3的用户
方法一:
SELECT * FROM m_user WHERE id =1 OR id = 2 OR id=3;
用in的方法:
SELECT * FROM m_user WHERE id IN(1,2,3);
Is null 的使用
作用:可以判断是否是null值
Select * from m_user where id is null;
Is not null 是判断不为空
<=>安全等于
例:查询id为null的数据
SELECT * FROM m_user WHERE id<=>NULL;
Order by子句
Asc升序(默认的)
Desc降序
order by子句可以支持 单个字段、别名、表达式、函数、多个字段
例:根据id进行降序
Select * from m_user order by id desc;
例:按多个字段排序(id降序,name升序)
SELECT * FROM m_user ORDER BY id DESC,name ASC;
分组查询
功能:用作统计使用,又称为聚合函数或统计函数或组函数
分类:sum 求和、avg 平均值、max 最大值 、min 最小值 、count 计算个数
特点:
1、sum、avg一般用于处理数值型
? max、min、count可以处理任何类型
2、以上分组函数都忽略null值
?
3、可以和distinct搭配实现去重的运算
?
4、count函数的单独介绍
一般使用count(*)用作统计行数
?
5、和分组函数一同查询的字段要求是group by后的字段
例:
求和:select sum(id) from m_user;
平均值:select avg(id) from m_user;
最大值:select max(id) from m_user;
最小值:select min(id) from m_user;
计算个数:select count(id) from m_user;
?