美文网首页
MySQL:数据查询语言DQL,查询语法及实例

MySQL:数据查询语言DQL,查询语法及实例

作者: 川石教育 | 来源:发表于2022-04-21 10:28 被阅读0次

    SQL语言

    SQL(Structured Query Language)的含义是结构化查询语言.SQL 是用于访问和处理数据库的标准的计算机语言。

    SQL有多种不同的标准,常见有SQL89,SQL92与SQL99标准.

    ▲ SQL分类

    (一)DQL

    数据查询语言.

    从数据库表中检索数据.

    select命令

    select语句

    ● 自然语句: 句子成分 主谓宾 定状补

    ● select语句: 由若干个子句构成,每一个子句由一个关键字引导

    1.select语句组成

    一般select语句包含6大子句.

    语法:

    select list

    from tabs

    where search_condition

    group by grouping_columns

    having search_condition

    order by sort_columns;

    #执行顺序

    from(join) --> where --> group by --> having --> select --> order by

    2.简单查询

    语法:

    select list

    from tab_name

    order by sort_columns;

    ▲ 查看表结构

    语法:

    desc tab_name #DESCRIBE

    describe tab_name

    mysql> desc ecs_goods_type;

    +----------+--------------------+----+---+-------+--------------+

    | Field | Type |Null|Key|Default| Extra |

    +----------+--------------------+----+---+-------+--------------+

    | cat_id |smallint(5) unsigned| NO |PRI| NULL |auto_increment|

    | cat_name |varchar(60) | NO | | | |

    | enabled |tinyint(1) unsigned | NO | | 1 | |

    |attr_group|varchar(255) | NO | | | |

    +----------+--------------------+----+---+-------+--------------+

    4 rows in set (0.03 sec)

    ▲ MySQL数据类型

    #列出所有品牌信息(查询需求)

    #思路

    1.确定表

    可以查看数据的设计文档(数据字典);问开发,问DBA

    ecs_brand

    2.确定列

    可以通过查看表结构来熟悉表.

    SELECT brand_name FROM ecs_brand; #查询单列

    SELECT brand_id,brand_name FROM ecs_brand; #查询多列

    SELECT * FROM ecs_brand; #查询所有列

    ▲ 书写SQL语句注意事项

    ● 不区分大小写

    ● 关键字与[非]关键字之间用空格或换行符分隔

    ● 多个列之间用,分隔

    ● *代表所有的列

    ● ;表示SQL语句结束

    ● 注释使用 # 单行注释 /*内容*/ 多行注释

    ● 单独选中命令执行

    ▲ 怎样去掉重复的记录或行

    语法:

    select distinct list from tab_name ...

    #找出商品表中有哪些商品类型

    SELECT * FROM ecs_goods;

    SELECT DISTINCT goods_type FROM ecs_goods;

    ▲ 排序

    是由order by子句来实现的.

    排序方式:

    ● 按列名

    select ...,col_name,...

    from tab_name

    order by col_name;

    #按照商品市场价格排序

    SELECT goods_id,goods_type,goods_name,market_price

    FROM ecs_goods

    ORDER BY market_price;

    ● 列序号

    select c1,c2,...,cn

    # 1 2 ... n

    from tab_name

    order by i;

    #按照商品名称排序

    SELECT goods_id,goods_type,goods_name,market_price

    FROM ecs_goods

    ORDER BY 3;

    ● 列别名

    select ...,col_name alias_name,...

    from tab_name;

    select ...,col_name as alias_name,...

    from tab_name;

    SELECT goods_id AS 商品编号, goods_type 商品类型, goods_name 商品名称, market_price 市场价格

    FROM ecs_goods

    ORDER BY 商品编号;

    ● 按列别名

    select ...,col_name alias_name,...

    from tab_name

    order by alias_name;

    #安装商品编号别名排序

    SELECT goods_id AS 商品编号, goods_type 商品类型, goods_name 商品名称, market_price 市场价格

    FROM ecs_goods

    ORDER BY 商品编号;

    ● 升序与降序

    select list

    from tab_name

    order by col_name [asc] #默认升序 asc可选

    order by col_name desc #降序排序 desc必选

    #按照商品市场价格降序排序

    SELECT goods_id AS 商品编号, goods_type 商品类型, goods_name 商品名称, market_price 市场价格

    FROM ecs_goods

    ORDER BY market_price DESC;

    ● 多列排序

    select list

    from tab_name

    order by c1,c2,...,cn;

    #按照商品类型升序,市场价格降序排序

    SELECT goods_id AS 商品编号, goods_type 商品类型, goods_name 商品名称, market_price 市场价格

    FROM ecs_goods

    ORDER BY goods_type,market_price DESC;

    相关文章

      网友评论

          本文标题:MySQL:数据查询语言DQL,查询语法及实例

          本文链接:https://www.haomeiwen.com/subject/yediertx.html