1-检索数据
1.1-检索单个列
SELECT prod_name
FROM Products;
上述SELECT语句从Products表中检索一个名为prod_name的列。 所要查找的列在select后面,from关键字指出从那个表查询数据。
输出如下:
prod_name | |
---|---|
8 inch teddy bear | |
12 inch teddy bear | |
18 inch teddy bear | |
Fish bean bag toy | |
Bird bean bag toy | |
Rabbit bean bag toy | |
Raggedy Ann | |
King doll | |
Queen doll |
结束SQL语句是以英文状态下的分号来进行结束。
SQL语句不区分大小写。
SQL语句可以写在一行,也可以分别写在多行。
1.2-检索多个列
从一个表中检索多个列仍然使用相同的Select语句。不同的是select 关键字后跟随多个列名,用逗号分隔开。
SELECT prod_name,prod_id,prod_price
FROM Products;
输出结果:
1.3-检索所有列
SELECT * FROM products;
如果给定一个通配符(*),则会返回所有列,如果不需要所有列,尽量不要使用通配符获取所有列,否则会导致查询速度变慢。
1.4-检索不同的值
如果想要检索products中所有供应商id:
select vend_id
from products;
输出结果:
vend_id | |
---|---|
BRS01 | |
BRS01 | |
BRS01 | |
DLL01 | |
DLL01 | |
DLL01 | |
DLL01 | |
FNG01 | |
FNG01 |
可以看到可以查到所有的供应商id,但是有很多重复的供应商的值。
如果只要不重复的值,那么只要使用:distinct 关键字,当检索值时,会返回不重复的值。
select distinct vend_id from products;
vend_id | |
---|---|
BRS01 | |
DLL01 | |
FNG01 |
只会返回不同的值,但是使用distinct会应用到所有列,不会应用到单独的列。
1.5-限制结果
MySQL检索数据时,要求只检索五条数据:
select prod_name
from products
limit 5;
加上限制后,检索出来的结果就只显示五条数据。
不同的数据库,可能该语句略有不同,需要自行查阅。
也可以通过offset关键字来指定从第几个开始查:
select prod_name
from product
limit 5 offset 5;
检索从第五条数据开始的五条数据。
如果从第五条开始数量不够五条,那就剩余多少返回多少。
有一种简写方式:
select prod_name
from products
limit 5 offset 3;
-- 等价于
select prod_name
from products
limit 3,5;
-- 注意,3表示offset,5表示limit,两者与第一种方式是相反的。