一、检索数据select
1.检索单个列
SELECT 字段1 FROM 表名
1
2.检索多个列
SELECT 字段1,字段2 FROM 表名
1
3.检索所有列
SELECT * FROM 表名
1
4.检索不同的行:
SELECT DISTINCT 字段1 FROM 表名
SELECT DISTINCT 字段1,字段2,字段3 FROM 表名
SELECT DISTINCT * FROM (错误)
1
2
3
5.限制结果:
SELECT * FROM 表名 limit 5 #返回不多于5行
SELECT * FROM 表名 limit 5,3 #返回从行5开始的3行(行索引从0开始)
1
2
6.完全限定的表名
二、排序检索数据order by
1.排序数据
SELECT * FROM 表名 ORDER BY size
SELECT * FROM 表名 ORDER BY name #以字母顺序排序
1
2
2.按多个列排序
SELECT * FROM 表名 ORDER BY 字段1,字段2
1
3.指定排序方向
默认升序排序:ASC
降序排序:
SELECT * FROM 表名 ORDER BY 字段 DESC #(DESC只对前面的字段有效)
SELECT * FROM 表名 ORDER BY 字段1 DESC,字段2 #字段1降序,字段2升序
1
2
对多个列降序排序:对每个列指定DESC
三、过滤数据
1.使用where子句
SELECT * FROM 表名 WHERE 子句 --和order by 结合使用时,order by要放在后面
1
2.where子句操作符
(1)检查单个值:
SELECT name FROM 表名 WHERE name='Alis';
-- mysql在执行匹配时 默认不区分大小写,返回name为'Alis'和'alis'的所有行
1
2
(2)不匹配检查:不等于操作符 <> 、!=
SELECT name,age FROM 表名 WHERE age <> 20;
1
(3)范围值检查:操作符BETWEEN
SELECT name,age FROM age BETWEEN 18 AND 24; --包括开始值和结束值
1
(4)空值检查:无值NULL
SELECT * FROM 表名 WHERE age IS NULL; --返回没有年龄的所有行
1