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

amang2000
发布于 2022-4-30 21:03
浏览
0收藏

作者 | 川石信息
来源 | 今日头条

SQL语言

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

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

▲ SQL分类MySQL:数据查询语言DQL,查询语法及实例-鸿蒙开发者社区

DQL

数据查询语言.

从数据库表中检索数据.

select命令

select语句

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

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

1.select语句组成

一般select语句包含6大子句.MySQL:数据查询语言DQL,查询语法及实例-鸿蒙开发者社区

语法:

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)

4 rows in set (0.03 sec)

▲ MySQL数据类型MySQL:数据查询语言DQL,查询语法及实例-鸿蒙开发者社区

#列出所有品牌信息(查询需求)
#思路
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;

收藏
回复
举报
回复
    相关推荐