一.基本查询
1.查询所有列
select * from 表名 星号表示所有列
2.查询指定列
select 列1,列2… from 表名
3.完全重复的记录只一次,当查询结果中的多行记录一模一样时
select distinct 列1,列2 from 表名
mysql> select id from stu;
4.列运算
Ⅰ.数量类型的列可以做加减乘除运算
select 列*2 from 表名
select 列1+列2 from 表名
select 列1+ifnull(列2,0) from 表名
Ⅱ.字符串类型可以做连续运算
select concat(’$’,列) from 表名
Ⅲ.转换null值
select 列1+ifnull(列2,0) from 表名
Ⅳ.给列起别名
select 列1+ifnull(列2,0) as resul from 表名
二.条件查询
1.普通条件查询
①select * from 表名 where 条件
②select * from 表名 where 列名(数据1,数据2....)
2.模糊查询
select * form 表名 where 列名 like 数据1的片段
select * form stu where name like '李_ _'//以李开头
select * form stu where name like '_ _ _'//三个字名字
select * form stu where name like '% 刚'//以刚结尾
select * form stu where name like '%小%'//带小的
三.排序
select * from stu order by id ASC,age DESC
//对表stu里面的id做升序排列age做降序排列
四.聚合函数
1. select count(*) from stu;//计算列总和
2. select max(id) from stu;//计算列中最大
3. select min(id) from stu;//计算列中最小
4. select sum(id) from stu;//计算列总和
5. select avg(id) from stu;//计算列平均
6. select count(*)人数,sum(age)年龄和,avg(age)平均年龄 from stu;
五.分组查询
1.select sex,count(*),max(id) from stu group by sex;
//通过性别分组
2.select sex,count(*) from stu where age>20 group by sex;
//大于20岁的学生按性别分组
3.select sex,count(*) from stu where age>20 group by sex having count(*) >=2;
//大于20岁的学生按性别分组,并且至少有两个人
六.limit子句
用来查询结果的起始行以及总行数
select * from stu limit 0,2;