1.检索数据
-
SELECT语句
-
检索单个字段
select prod_name from products(每次查询返回的顺序是不一样的)
-
检索多个字段
select prod_id prod_name prod_price from products
-
检索出所有的列;使用通配符 *
select * from products(查询返回的顺序是添加的顺序)
尽量不适用 * 来检索数据,会降低程序性能
-
检索不重复的值;关键字:distinct
select distinct vend_id form products
distinct必须放在列名的前面使用,会返回所有不同的值
-
限制结果:只返回需要的行数据;关键字:limit
-
select prod_name from products limit 5
返回不超过5行数据
-
select prod_name from products limit 5, 5
返回从某行开始的几条数据,5,5指第5行开始的5条数据
替代语法:LIMIT4 OFFSET 3意为从行3开始取4行数据
-
-
使用完全限制名(同时使用表名和列名,避免相同的列名的表)
select products.prod_name from products
-
2.排列检索数据
-
检索出的数据不是随机排序的,可以是数据添加的顺序,该顺序无意义
-
字句:通常由一个关键字和数据列组成;order by 列名
select prod_name from products order by prod_name
order by对检索的列名进行字母顺序排列,也可以对不检索的列名进行排序
-
按多个列排序
select prod_id,prod_price,prod_name from products order by prod_price,prod_name
先对prod_price进行排序,有相同的prod_price再进行prod_name排序,如果没有就不进行prod_name排序
-
指定排序方式;关键字:desc
-
select prod_id , prod_price,prod_name from products order by prod_price desc
desc对前面列名降序处理,order by默认是升序
-
多个列名排序
select prod_id, prod_price,prod_name from products order by desc,prod_name
只有在列名后面加desc才会降序,不加默认为升序,字母大小写为相同,除非有特殊要求
-
order by 与 limit 关键字组合,查找列名最高或最低的值
-
最高:select prod_price from products order by prod_price desc limit 1
-
最低:select prod_price from products order by prod_price limit 1
关键字位置:order by 位于from 后面,limit 位于order by后面,不能更改
-
-
3.过滤数据
-
where字句指定搜索条件
select prod_name,prod_price from products where prod_price=2.50
where过滤了不等于2.50的列名数据,只返回相等的数据,where和order by 使用时,order by放在后面
-
where字句操作符