学习笔记——数据库(检索数据)

注意事项:

1.结束SQL语句:多条SQL语句必须以分号(;)分隔
2.SQL虽然不区分大小写,但建议关键字使用大写,所有表名和列用小写
3.在处理SQL语句时,其中的空格都被忽略

SELECT语句

一、检索

  1. 检索一列

    输入:SELECT 列名 FROM 表名;


  2. 检索多列

    列名之间必须以逗号(,) 隔开,但在最后一个列名后不加逗号
    输入:SELECT 列名1,列名2,…,列名n FROM 表名;


  3. 检索所有列

    如果给定一个 通配符( * ),则返回表中所有列。
    输入:SELECT * FROM 表名;d

    注意:建议只有在确定需要表中的所有列时使用通配符


  4. 检索不同的行

    不想每个值每次都出现,即只显示不同的值,需要使用关键字 DISTINCT
    输入:SELECT DISTINCT 列名 FROM 表名;
    使用 DISTINCT 后,只返回不同值(唯一),必须放在列名前面。一旦使用将应用于该语句中所有要显示的列


  5. 限制结果

    指定表中要显示指定范围的行,使用关键字LIMIT

    返回第一行或者前几行
    输入:SELECT 列名 FROM 表名 LIMIT x;

    返回指定开始位置和指定行数
    输入:SELECT 列名 FROM 表名 LIMIT x,y;

    注意
    1)检索出来的第一行的行号为0,因此LIMIT x,y 将从第x+1行开始检索
    2)若行数不够,则有多少,显示多少
    3)为避免混淆,MySQL 5 支持使用替代语法,即:LIMIT y OFFSET x,译为:从行 x 开始取 y 行。


  6. 完全限定名
    1)列名可以是完全限定名
    输入:SELECT 表名.列名 FROM 表名;
    2)表名也可以实完全限定名
    输入:SELECT 表名.列名 FROM 数据库名.表名;


二、排序检索

为了明确地排序用 SELECT 语句检索出的数据,可以使用 ORDER BY 子句。


  1. 按一个列排序

    输入:SELECT 列名a FROM 表名 ORDER BY 列名a
    分析:该语句指示数据库对 列名a 的输出 以字母顺序排序。


  2. 按多个列排序

    为了按多个列排序,只需指定列名,列名之间用 逗号(,) 隔开即可。
    输入:SELECT 列名1,列名2,…,列名n FROM 表名 ORDER BY 列名1,列名2;

    注意: 在使用 ORDER BY 进行多列排序时,根据输入的有限顺序依次进行排列。 在上述输入中,先对 列名1 进行排序,在列名1出项相同值得情况下,才开始对 列名2 进行排序


  3. 指定排序方向
    排序方向可以分为升序和降序,升序关键字为 ASC(默认),降序关键字为 DESC

    3.1 单列排序——降序
    输入:SELECT 列名a FROM 表名 ORDER BY 列名a DESC

    3.2 多列排序——降序
    输入:SELECT 列名1,列名2,列名3 FROM 表名 ORDER BY 列名1 DESC,列名2
    注意DESC关键字只应用到直接位于其前面的列名,上述输入只对 列名1 生效,即 列名1 按照降序排序,其次 列名2 按照升序排序。如果想在多个列上都进行降序排序,必须对每个列都指定DESC关键字。


子句 与 关键字 的前后顺序: 在给出 ORDER BY 子句时,应该保证它位于 FROM 子句之后。如果使用 LIMIT 关键字,它应该位于 ORDER BY子句 之后。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值