ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【技术专题】Mysql8 数据库 - Mysql8 查询数据

【技术专题】Mysql8 数据库 - Mysql8 查询数据 大家好我是Java1234_小锋老师最近更新 《一天学会 Mysql8 视频教程(无废话版) 》专辑感谢大家支持。本课程主要介绍和讲解 Mysql8简介安装以及配置客户端sqlyog 安装以及配置数据库 基本操作数据库表基本操作查询数据添加修改删除数据索引视图触发器 常用函数存储过程和函数。视频教程课件源码 打包下载链接https://pan.baidu.com/s/1o-zRfndo1HHrS_uFroOiCw?pwd1234提取码1234Mysql8在第一阶段目录里Mysql8 查询数据首先初始化下数据-- 插入图书类别INSERTINTOt_booktype(id,bookTypeName,bookTypeDesc)VALUES(1,软件工程类,涵盖软件开发、项目管理、软件测试等),(2,计算机网络类,涵盖网络协议、网络安全、网络架构等),(3,计算机人工智能,涵盖机器学习、深度学习、自然语言处理等);-- 插入图书数据INSERTINTOt_book(id,bookName,author,price,bookTypeId)VALUES(1,代码大全,史蒂夫·迈克康奈尔,128.00,1),(2,人月神话,弗雷德里克·布鲁克斯,59.00,1),(3,计算机网络自顶向下方法,詹姆斯·库罗斯,89.00,2),(4,TCP/IP详解,W.理查德·史蒂文斯,108.00,2),(5,人工智能一种现代的方法,斯图尔特·罗素,168.00,3),(6,机器学习,周志华,88.00,3);1 单表查询1.1 查询所有字段SELECT 字段1, 字段2, 字段3... FROM 表名;SELECT * FROM 表名;实例查询所有图书信息SELECT*FROMt_book;1.2 查询指定字段SELECT 字段1, 字段2, 字段3... FROM 表名;实例查询所有图书的书名和作者SELECTbookName,authorFROMt_book;1.3 Where 条件查询SELECT 字段1, 字段2, 字段3... FROM 表名 WHERE 条件表达式;实例查询价格大于50元的图书SELECT*FROMt_bookWHEREprice50;1.4 带 IN 关键字查询SELECT 字段1, 字段2, 字段3... FROM 表名 WHERE 字段 [NOT] IN (元素1, 元素2, 元素3);实例查询类别为1或2的图书SELECT*FROMt_bookWHEREbookTypeIdIN(1,2);1.5 带 BETWEEN AND 的范围查询SELECT 字段1, 字段2, 字段3... FROM 表名 WHERE 字段 [NOT] BETWEEN 取值1 AND 取值2;实例查询价格在40到80元之间的图书SELECT*FROMt_bookWHEREpriceBETWEEN40AND80;1.6 带 LIKE 的模糊查询SELECT 字段1, 字段2, 字段3... FROM 表名 WHERE 字段 [NOT] LIKE 字符串;%代表任意字符_代表单个字符实例查询书名中包含“Java”的图书SELECT*FROMt_bookWHEREbookNameLIKE%Java%;1.7 空值查询SELECT 字段1, 字段2, 字段3... FROM 表名 WHERE 字段 IS [NOT] NULL;实例查询没有填写描述信息的图书类别SELECT*FROMt_bookTypeWHEREbookTypeDescISNULL;1.8 带 AND 的多条件查询SELECT 字段1, 字段2... FROM 表名 WHERE 条件表达式1 AND 条件表达式2 [...AND 条件表达式n]实例查询类别为1且价格大于50元的图书SELECT*FROMt_bookWHEREbookTypeId1ANDprice50;1.9 带 OR 的多条件查询SELECT 字段1, 字段2... FROM 表名 WHERE 条件表达式1 OR 条件表达式2 [...OR 条件表达式n]实例查询类别为1或者价格低于40元的图书SELECT*FROMt_bookWHEREbookTypeId1ORprice40;1.10 DISTINCT 去重复查询SELECT DISTINCT 字段名 FROM 表名;实例查询当前图书涉及了哪些不同的类别IDSELECTDISTINCTbookTypeIdFROMt_book;1.11 对查询结果排序SELECT 字段1, 字段2... FROM 表名 ORDER BY 属性名 [ASC|DESC]实例按价格降序排列图书信息SELECT*FROMt_bookORDERBYpriceDESC;1.12 GROUP BY 分组查询基本语法GROUP BY 属性名 [HAVING 条件表达式][WITH ROLLUP]使用场景说明单独使用毫无意义与GROUP_CONCAT()函数一起使用与聚合函数一起使用与HAVING一起使用限制输出的结果与WITH ROLLUP一起使用最后加入一个总和行实例统计每个类别的图书数量SELECTbookTypeId,COUNT(*)ASbookCountFROMt_bookGROUPBYbookTypeId;1.13 LIMIT 分页查询SELECT 字段1, 字段2... FROM 表名 LIMIT 初始位置, 记录数;实例查询前3条图书数据从第0条开始查3条SELECT*FROMt_bookLIMIT0,3;2使用聚合函数查询2.1 COUNT() 函数用来统计记录的条数通常与GROUP BY一起使用。实例统计图书总数SELECTCOUNT(*)FROMt_book;2.2 SUM() 函数求和函数与GROUP BY一起使用。实例统计所有图书的总价格SELECTSUM(price)FROMt_book;2.3 AVG() 函数求平均值的函数与GROUP BY一起使用。实例求所有图书的平均价格SELECTAVG(price)FROMt_book;2.4 MAX() 函数求最大值的函数与GROUP BY一起使用。实例查询最贵的图书价格SELECTMAX(price)FROMt_book;2.5 MIN() 函数求最小值的函数与GROUP BY一起使用。实例查询最便宜的图书价格SELECTMIN(price)FROMt_book;3连接查询连接查询是将两个或两个以上的表按照某个条件连接起来从中选取需要的数据。3.1 内连接查询内连接查询是一种最常用的连接查询可以查询两个或者两个以上的表。实例查询图书名称及其对应的类别名称SELECTb.bookName,t.bookTypeNameFROMt_book bINNERJOINt_bookType tONb.bookTypeIdt.id;3.2 外连接查询外连接可以查出某一张表的所有信息。基本语法SELECT 属性名列表 FROM 表名1 LEFT|RIGHT JOIN 表名2 ON 表名1.属性名1表名2.属性名2;3.2.1 左连接查询可以查询出“表名1”的所有记录而“表名2”中只能查询出匹配的记录。实例以图书表为主显示所有图书及其类别即使某些图书类别ID有误查不到类别SELECTb.bookName,t.bookTypeNameFROMt_book bLEFTJOINt_bookType tONb.bookTypeIdt.id;3.2.2 右连接查询可以查询出“表名2”的所有记录而“表名1”中只能查询出匹配的记录。实例以类别表为主显示所有类别及类别下的图书即使某些类别下没有图书SELECTb.bookName,t.bookTypeNameFROMt_book bRIGHTJOINt_bookType tONb.bookTypeIdt.id;3.3 多条件连接查询根据多个条件连接查询表数据。实例查询“计算机”类别下价格大于60的图书SELECTb.bookName,t.bookTypeName,b.priceFROMt_book bJOINt_bookType tONb.bookTypeIdt.idWHEREt.bookTypeName计算机ANDb.price60;4子查询4.1 带 In 关键字的子查询一个查询语句的条件可能落在另一个SELECT语句的查询结果中。实例查询“计算机”类别的所有图书不借助连接查询SELECT*FROMt_bookWHEREbookTypeIdIN(SELECTidFROMt_bookTypeWHEREbookTypeName计算机);4.2 带比较运算符的子查询子查询可以使用比较运算符。实例查询价格高于平均价格的图书SELECT*FROMt_bookWHEREprice(SELECTAVG(price)FROMt_book);4.3 带 Exists 关键字的子查询假如子查询查询到记录则进行外层查询否则不执行外层查询。实例查询有图书的类别信息SELECT*FROMt_bookType tWHEREEXISTS(SELECT1FROMt_book bWHEREb.bookTypeIdt.id);4.4 带 Any 关键字的子查询ANY关键字表示满足其中任一条件。实例查询价格大于任意一本“文学”类图书价格的书籍比最便宜的文学书贵即可SELECT*FROMt_bookWHEREpriceANY(SELECTpriceFROMt_bookWHEREbookTypeId2);4.5 带 All 关键字的子查询ALL关键字表示满足所有条件。实例查询价格大于所有“文学”类图书价格的书籍比最贵的文学书还要贵SELECT*FROMt_bookWHEREpriceALL(SELECTpriceFROMt_bookWHEREbookTypeId2);5合并查询结果5.1 UNION使用UNION关键字时数据库系统会将所有的查询结果合并到一起然后去掉相同的记录。实例查询价格大于80或类别为2的图书去重SELECT*FROMt_bookWHEREprice80UNIONSELECT*FROMt_bookWHEREbookTypeId2;5.2 UNION ALL使用UNION ALL不会去掉相同的记录。实例合并查询保留重复记录SELECT*FROMt_bookWHEREprice80UNIONALLSELECT*FROMt_bookWHEREbookTypeId2;6为表和字段取别名6.1 为表取别名格式表名 表的别名实例赋予t_book别名为bt_bookType别名为tSELECTb.bookName,t.bookTypeNameFROMt_book b,t_bookType tWHEREb.bookTypeIdt.id;6.2 为字段取别名格式属性名 [AS] 别名实例在查询结果中规范化列名SELECTbookNameAS书名,authorAS作者,priceAS价格FROMt_book;
返回列表