Bootstrap

MySQL的数据查询(条件查询、基础查询等)

一、条件查询

条件查询是指在数据库查询中,通过设定特定的条件表达式来筛选出符合这些条件的数据记录。在这种查询中,用户根据实际需求定义各种条件,如等于、大于、小于、包含等关系条件,以精确地获取所需的特定数据子集。它可以基于表中的一个或多个字段进行条件设定,从而实现有针对性地从大量数据中提取出符合特定要求的数据行。


1.比较条件的使用

用于相等比较
表示大小比较
表示小于比较
表示大于等于比较>=
表示小于等于比较<=
表示不等于比较<>、!=

语法:SELECT  [DISTINCT] *|{字段名1, 字段名2, 字段名3,……}
FROM 表名
[WHERE 条件表达式1]


【例1】在TBL_Bookinfo 表中查询所有“清华大学出版社”出版的书

select *   from  TBL_Bookinfo where Publisher = '清华大学出版社';

【例2】在TBL_Bookinfo 表查询95年及95年以后出版的书

select  * from TBL_Bookinfo where PublishDate>='1985-1-1';

2.比较条件的组合使用

运算符描述
AND逻辑与,操作数全部为真,则结果为1,否则为0
OR逻辑或,操作数中只要有一个为真,则结果为1,否则为0
NOT逻辑非,操作数为0,则结果为1,操作数为1,则结果为0

【例3】查询不是“清华大学出版社”出版的书。

select * from TBL_Bookinfo where not Publisher='清华大学出版社';
select * from TBL_Bookinfo where Publisher !='清华大学出版社';

【例4】查询所有“清华大学出版社”或“电子工业出版社”出版的书

select * from TBL_Bookinfo where Publisher='清华大学出版社' or Publisher='电子工业出版社';

【例5】在TBL_Bookinfo 表查询页数在200至400之间、同时出版社为“清华大学出版社”的书。

select * from TBL_Bookinfo where PageCount >=200 and PageCount<=400 and Publisher='清华大学出版社';

3.BETWEEN 关键字
 BETWEEN ... AND ...(在指定的闭区间范围内)
 NOTBETWEEN ... AND ...(不在指定的闭区间范围内)

一股用于数值和日期型数据
注意: between .… and …是包含边界的

【例6】从TBL_Bookinfo表中检索1990年出版的图书信息。

select * from TBL_Bookinfo where PublishDate>='1990-01-01' and PublishDate<='1990-12-31';

-- BETWEEN...AND...

select * from TBL_Bookinfo where PublishDate between '1990-01-01' and '1990-12-31';

-- not BETWEEN... AND

select * from TBL_Bookinfo where PublishDate not between '1990-01-01' and '1990-12-31';

4.IN ()关键字

 INO在给定的集合内
NOT INO不在给定的集合内

【例7】从TBL_Bookinfo表中检索出索取号为'TB11/46', 'TG/71','TG38-62/12'的图书信息

select * from TBL_Bookinfo where BookID='TB11/46' or BookID='TG/71' or BookID='TG38-62/12';

-- in

select * from TBL_Bookinfo where BookID in ('TB11/46', 'TG/71','TG38-62/12');

--not in
 

select * from TBL_Bookinfo where BookID not in ('TB11/46', 'TG/71','TG38-62/12');

二、基础查询

基础查询通常是指在数据库操作中最基本、最常见的查询操作。
它主要是通过特定的查询语句(如 SQL 中的 SELECT 语句),根据设定的条件从一个或多个数据表中检索出符合要求的数据,包括指定要获取的列、设定筛选条件、进行数据排序等基本操作。基础查询是进行数据检索和分析的基础手段,为进一步的数据处理和应用提供基础数据支持。

1.SELECT 完整语句格式
 MySQL 从数据表中查询数据的基本语句是 SELECT 语句
语法如下:
(主语句)
 SELECT [ DISTINCT ]*|{字段名1,字段名2,字段名3,……}
 FROM 表名
(子语句)
[ WHERE 条件表达式1]
[ GROUP BY 字段名[ HAVING 条件表达式2]][ ORDER BY 字段名[ ASC | DESC ]]
[ LIMIT [ OFFSET ,]记录数];

2.最基本的SQL查询语句
语法: SELECT *|{字段名1,字段名2,字段名3,……} FROM 表名

特点: SQL 语言是一种非过程化的结构查询语言,简洁

查询指定表中的所有记录的所有列
【例1】从 TBL _ Bookinfo 表查询所有图书的记录内容

 select * from TBL _ Bookinfo ;

查询指定的列:将指定的列放在选择列表中
【例2】查询 TBL _ Bookinfo 表中所有图书的 BookID , ISBN , BookName 

select BookID , ISBN , BookName from TBL Bookinfo ;

3.改变列标题的显示
语法:字段名 AS 标题名或字段名标题名
【例3】查询 TBL _ Bookinfo 表中所有图书的 BookI , ISBN , BookName 
方法一:

select BookID as 索取号, ISBN as 标准编号, BookName as 书名 from TBL _ Bookinfo ;

方法二:

select BookID 索取号, ISBN 标准编号, BookName 书名 from TBL _ Bookinfo ;

注:在 DOS 会话窗口使用中文别名,须先执行改变字符集命令


练习:

1.查询TBL_Bookinfo 表中所有图书信息。

select * from tbl_bookinfo;

2.查询TBL_User表中所有读者信息。

select * from tbl_user;

3.查询TBL_Bookinfo表中所有图书的索取号BookID,标准编号isbn,书名BookName。

select BookID ,ISBN,BookName from TBL_Bookinfo; 

4.查询TBL_User表中读者编号、姓名及班级。

select UserID,UserName,Class from TBL_User;

5.查询TBL_Bookinfo 表中所有图书的索取号,标准编号,书名,并用中文显示列名。

select BookID as 索引号,ISBN as 标准编号,BookName as 书名 from TBL_Bookinfo;
;