0504 | MySQL | 第 4 章 检索数据

内容摘要:本章将介绍如何使用 SELECT 语句从表中检索一个或多个数据列。

4.1 SELECT 语句

    使用 SELECT 语句需要两个信息:选择什么,以及从什么地方选择。

4.2 检索单个列

    SELECT 列名 FROM 表名;从表中检索一个列。如我们从 products 表中检索一个名为 prod_name 的列:

SELECT prod_name FROM products;

    此处如果没有明确排序查询结果,则返回的数据顺序没有特殊的意义。只要返回相同数目的行,就是正常的。

    注意:
  • 多条 SQL 语句必须以分号分隔;
  • SQL 语句不区分大小写,习惯将所有 SQL 关键字大写,所有列名和表名小写;
  • SQL 语句中所有的空格会被忽略

4.3 检索多个列

    SELECT 列名, 列名, 列名 FROM 表名; 从某个表中选择三列数据。

SELECT prod_id,prod_name,prod_price FROM products;

4.4 检索所有列

    SELECT * FROM 表名; 返回表中所有列。通配符(*)代表所有。

SELECT * FROM products;

4.5 检索不同的行

    SELECT DISTINCT 列名 FROM 表名; 从此表中返回此列中所有不同的值。

SELECT DISTINCT vend_id FROM products; // 从 products 表中检索 vend_id 列并且只返回不相同的值,过滤掉相同的值。

    注:DISTINCT(  [dɪ’stɪŋkt],清晰的

    不能部分使用 DISTINCT:DISTINCT 关键字必须应用于所有列而不仅是前置它的列。如果给出 SELECT DISTINCT vend_id, prod_price,除非指定的两个列都不同,否则所有航都将被检索出来。

4.6 限制结果

     SELECT 列名 FROM 表名 LIMIT 行数; 从某个表中检索某个列且不多于多少行。

SELECT prod_name FROM products LIMIT 5; // 从 products 表中检索 prod_name 这一列并不多于 5 行

      SELECT 列名 FROM 表名 LIMIT X Y ; 从某个表中检索某个列,且从第 X 行开始,不多于 Y 行。

SELECT prod_name FROM products LIMIT 3,5; //  从 products 表中检索 prod_name 这一列,从第 3 行开始,返回的结果不超过 5 行。

    注意:
  • 行数不够时,MySQL 只返回它能返回的那么多行。
  • 检索出来的第一行是行 0 而不是行1,因此,LIMIT 1,1 将检索出第二行而不是第一行。
  • 为避免费解,LIMIT 4 OFFSET 3 等价于 LIMIT 3,4

4.7 使用完全限定的表名

     SELECT 表名.列名 FROM 表名; 
    SELECT 表名.列名 FROM 数据库名.表名; 

SELECT products.prod_name FROM products;
SELECT products.prod_name FROM crashcourse.products;

有一些情形需要完全限定名,此为后话。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值