zoukankan      html  css  js  c++  java
  • MySql学习笔记(一) —— 关键字的使用

    1.distinct关键字

    作用:检索出有不同值的列,比如一个商品表中存在供应商vend_id,一个供应商会对应很多商品,我们要查找有多少供应商,就可以用到该关键字去重。

    select distinct vend_id from products;

    2.limit关键字

    作用:返回表中指定行范围的数据

    select prod_name from products limit 5; --返回不多于5行的数据
    
    select prod_name from products limit 5,5; --返回从5行开始的5行。

    关键字limit在分页中应用较多,假设一个业务场景,每页显示10条数据,根据当前页数显示该页数据,pc表示当前页,则表中起始行 ts = pc*10-10+1

    第一种方式:

    select * from t_book limit ts,10

    这样当数据量很大时候,后面页的数据需要跨越很多数据,我们可以采取第二中方式进行优化

    第二种方式:

    select * from t_book where book_id>(select t_id from t_book order by limit ts,1) limit 10

     3.order by关键字

    作用:对所查询的列进行降序排列

    select prod_name from products order by prod_name;

    也可以对多列进行排序

    select * from products order by prod_price,prod_name;   --这样只有当prod_price有相同的值时候,才会按prod_name排序

    也可以在字段后加上DESC关键字进行指定降序排序

    select prod_name from products order by prod_name desc;

    order by 和 limit 组合可以查询最大值

    select prod_price from products order by prod_price DESC limit 1;

    order by 和 where 语句连着使用时要放在where后面。

    4.and 和 or 结合使用

    应用场景:返回商品价格大于10元,且由1002或1003生产的产品

    select * from products where (vend_id=1002 or vend_id=1003) and prod_price>=10;

    5.IN 和 NOT IN

    用 IN 可以代替 or

    应用场景:假设1002和1003生产的商品

    select * from products where vend_id = 1002 or vend_id = 1003; -- or方法
    
    select * from products where vend_id in (1002,1003); -- in方法
    
    select * from products where vend_id not in (1002,1003); -- not in方法查询不是1002 和 1003 生产的商品

    6. like 关键字

    作用:进行一些模糊匹配,通常和一些通配符进行搭配查找

    select * from products where prod_name like 'jet%' --匹配以jet开头的字符
    
    select * from products where prod_name like '%dcb%' --匹配任何位置包含dcb字符商品信息
    
    select * from products where prod_name like '_jet' -- _匹配一个字符

     

    select * from products where prod_name like '[jdk]%';  --匹配以 j , d , k ,开头的商品
    
    select * from products where prod_name like '[!jdk]%';  --匹配不以 j , d , k ,开头的商品

    7.update 关键字

    作用:根据一些条件更新数据库中的值

    update products set prod_price = 100 where prod_name = jet;  --修改商品名称为jet商品价格

    如果不加判断会修改所有商品价格

    8.union 关键字

    UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

    请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

    SELECT City FROM Customers
    UNION
    SELECT City FROM Suppliers
    ORDER BY City;

    UNION 不能用于列出两个表中所有的城市。如果一些客户和供应商来自同一个城市,每个城市只会列出一次。UNION 只会选取不同的值。请使用 UNION ALL 来选取重复的值!

    SELECT City FROM Customers
    UNION ALL
    SELECT City FROM Suppliers
    ORDER BY City;
  • 相关阅读:
    20201029-1 每周例行报告
    20201022-1 每周例行报告
    2020年秋软件工程“领跑衫”获奖感言
    20201015-3 每周例行报告
    20201207-总结
    20201126-1 每周例行报告
    20201120-1 每周例行报告
    20201112-1 每周例行报告
    20201105-1 每周例行报告
    20201022-1 每周例行报告
  • 原文地址:https://www.cnblogs.com/love-Stefanie/p/6891706.html
Copyright © 2011-2022 走看看