MySQL ------ 查询检索(limit,完全限定) (四)

查询数据 SELECT

1、检索单列     

 select prod_name from products;

注意:

1、 返回数据没有排序

2、多条SQL 语句必须使用分号(;) 分隔

3、在处理SQL 语句时,其中所有空格都被忽略

4、SQL 可以一行也可以多行,建议将SQL语句分为多行,这样更易阅读和调试。

5、SQL语句不区分大小写,但是建议SQL 关键字使用大写,所有列和表名使用小写,这样便于阅读调试,还有的就是MySQL4.1 及之前的版本中,标识符(如数据库名称,表名,列名),默认是区分大小写的,4.1 之后默认是不区分大小写的。

2、检索多列

在检索多列的时候,一定要在列名之间加上逗号,但是最后一个列名不要添加逗号,不然报错

select prod_id,prod_name,prod_price from products;

数据的表示:  SQL 语句一般返回原始的、无格式的数据,实际中一般是使用SQL查出原始的数据,然后使用程序进行提供格式(如给钱加个¥)

3、检索所有列

1、是将所有的字段全部列出进行查询

2、是使用通配符(*),表示所有的列

select * from products;

 建议: (*) 能不用最好不用,因为会降低检索和应用程序的性能。当然在你对这表不熟悉,这个时候* 就很重要会把表中所有的列检出来,然后再不断优化

4、检索不同的行

如:在你进行单列查询的时候,会把单列的所有的行都返回出来,这个时候可能会有一些行是重复的,也不方便了解, 就想上述的 vend_id  (供应商编号)这一列中的数据好多行是重复的,不变查看,我就想知道这批商品主要有哪些供应商,怎么搞

这个时候  DISTINCT (distinct)关键字孕育而出,意味只返回不同的值

 select distinct vend_id from products;

 注意:

  distinct 关键字应用于所有列而不仅是前置他的列,建议只在单列查询的时候使用

如下面:两个都用报错,只用一个没用

5、限制结果

 select  语句返回所有的匹配的行,但是你要是不需要那么多,需要返回特定的行要怎么办来

这个时候 LIMIT 关键字就出来了,你要是了解的较多可能会听过 TOP 关键字返回前几行,不过这个SQLServer 支持,MySQL不支持

从简到难

--  返回前五行
select prod_name from products limit 5;

-- 从第5行开始,检索5行  limit 5,5  第一个数表示开始位置,第二个数表示检索行数
select prod_name from products limit 5,5;

 注意:

1、从0 开始算数,检索出来的第一行为0而不是1(理工科就要无中生有,从零开始)

2、当需要检索的行数大于拥有的时,只返回符合的

3、mysql 5 后支持 limit 4 offset 2,与limit 2,4 一个意思,表示从行2开始取4行 

6、完全限定

就是通过名字来引用列,通过库引用表

-- 查询bookstu 数据库中的products,products 表的prod_name 字段的所有行

 select products.prod_name from bookstu.products;

原文地址:https://www.cnblogs.com/obge/p/12926543.html