DQL语言

发布时间 2023-12-14 12:14:46作者: 和哗

QDL语言

DQL(Data Query Language)数据查询语言用来进行数据库中数据的查询,常用的关键字为----select

语法:

select  字段名,字段名,...... ,字段名 from  表名  [where 条件语句]

举个例子:

-- 查询product表中所有记录
select * from product;

-- 查询product表中pid和pname字段
select pid,pname from product;

-- 查询结果是表达式(运算查询):将所有商品的价格+10元进行显示.
select price+10 from product;

-- 查询商品名称为“花花公子”的商品所有信息:
select  * from product where pname ='花花公子';

排序

查询数据时,我们会把查询的结果按照某些字段排序

默认:升序

asc:指定列按升序排序。

desc:指定列按降序排序。

语法:

order  by  列名A,列名B                    按照列名A升序,当列名A相同时按照列名B升序
order  by  列名A  desc,列名B              按照列名A降序,当列名A相同时按照列名B升序
order  by  列名A,列名B  desc              按照列名A升序,当列名A相同时按照列名B降序
order  by  列名A  desc,列名B  desc        按照列名A降序,当列名A相同时按照列名B降序

查询语法:

select  字段名,字段名,字段名,......,from 表名  [where  条件]  [order  by 字段1,字段2,....]

举个例子:

-- 查询学生信息--按照年龄排序[asc升序默认] [desc降序]
select * from tbl_student order by age desc,classId desc;

为查询的结果起别名

语法:

select 字段 as 别名, 字段 as 别名 from 表名

注意:数据库中as可以省略

举个例子:

-- 查询学生表中sname起别名姓名,age起别名年龄
select sname as 姓名, age 年龄 from tbl_student;

去重

去重用到关键字----distinct,把结果中重复的内容去除只保留一个

语法:

select  distinct 字段名,字段名,.....,from 表名 

分页查询

MySQL中分页需要使用关键字-----limit

语法:

select 字段名,字段名,字段名 from  表名 [where 条件] [order by 字段] limit  起始记录,条数

找规律:

-- 查询第一页每页显示4
select * from tbl_student limit 0,4;

-- 查询第二页每页显示4
select * from tbl_student limit 4,4;

-- 查询第三页每页显示4
select * from tbl_student limit 8,4;

-- 查询第四页每页显示4
select * from tbl_student limit 12,4;

-- 可以看见起始记录与条数之间存在一定的规律
-- 规律: select * from 表名 limit (page-1)*pageSize,pageSize;
-- page:表示第几页
-- pageSize: 表示每页显示的记录个数

举个例子:

-- 查询tb_teacher表第二页的数据。每页显示5个。
select * from tb_teacher  limit 55