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

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

作者: 82a7fe2508f4 | 来源:发表于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