《MySQL必知必会》——查询语句

《MySQL必知必会》——查询语句

查询语句是使用数据库的基本语法,为了使用SELECT检索表数据,必须至少给出两条信息——想选择什么数据,以及从什么地方选择。

检索数据

  • 检索单个列

     SELECT name from tables;
    

    此时查询出来的数据是不带任何排序的。

  • 检索多个列

    SELECT id,name,price from tables;
    

    以上是列举出要检索的三个列,如果要检索出所有的列,可以使用通配符(*)来返回表中所有的列:

    SELECT * from tables;
    
  • 检索不同的行
    如果检索出来的结果不想每个值都出现,可以使用DISTINCT关键字来指示mysql返回不同的值。

    SELECT DISTINCT name from tables;
    

    DISTINCT 关键字应用于所有列而不仅是前置它的列。

  • 限制结果
    如果只需要返回表中的前几行,可以使用LIMIT子句:

    SELECT name from tables LIMIT 5;
    

    这里返回的是从0-4行数据。如果要指定返回中间的几行:

    SELECT name from tables LIMIT 3,4;
    

    表示检索从行3开始的4行数据。
    另外MySQL 5为了更好的表示,支持了另外一种写法:

    SELECT name from tables LIMIT 4 OFFSET 3 ;
    

排序检索数据

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

  • 按单个列排序

    SELECT name from tables ORDER BY name ;
    
  • 按多个列排序

    SELECT name,price from tables ORDER BY name,price;
    

    先对name进行排序,仅当有相同name时候才对结果继续进行price进行排序。如果所有name是唯一的,则不会按price排序。

  • 指定排序方向
    mysql默认是按升序排列,如果要指定以降序排序,使用DESC 关键字来排序:

     SELECT id,name from tables ORDER BY name DESC
    

过滤数据

使用WHERE子句可以帮助只检索出所需要的数据

  • 等值过滤
    MySQL在进行等职匹配时默认不区分大小写。

    SELECT  name from tables where name ='LIMING';
    
  • 不等值匹配
    不等值的匹配有两种方式,一个是 <> ,另一个是使用!= 符号,两种方式都可以。

    SELECT  id,name,price from tables where price <>10;
    SELECT  id,name,price from tables where price !=10;
    
  • 范围检索
    为了检索出某个范围的值,可以使用BETWEEN子句

    SELECT name,price from tables WHERE price  BETWEEN 5 AND 10 ;
    
  • 空值检查
    如果一个列不包含任何值,则称为空值NULL。它与0、空字符串都不同,如果要判断某个字段是不是空值,可以用 IS NULL子句

    SELECT name from price IS NULL ;
    

下一篇介绍数据过滤的各种操作符

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值