回复
MySQL:数据查询语言DQL,查询语法及实例
amang2000
发布于 2022-4-30 21:03
浏览
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)
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;
赞
收藏
回复
相关推荐