##Mysql数据库DQL查询工具的使用
在开始进行查询工具的学习之前我们需要做一些准备工作,也把我们之前的只是稳固下:
1,新建数据库day03
语法:CREATE DATABASE 数据库名;
2,展示数据库
语法:SHOW DATABASES;
3,展示当前新建数据库
语法:SHOW CREATE DATABASE 数据库名;
4,查询数据库
语法:SELECT DATABASE();
5,换库
语法:USE 数据库名;
CREATE DATABASE day03; #展示数据库 SHOW DATABASES; #展示当前数据库 SHOW CREATE DATABASE day03; #删除数据库 DROP DATABASE day03; #查询数据库 SELECT DATABASE(); #换库 USE day03;
6,新建数据表product(商品)
语法:CREATE TABLE product();
7,添加数据:
语法:INSERT INTO product(pid,pname,price,category_id)VALUES();
8,查询表结构
语法:DESC product;
#新建数据表product CREATE TABLE product(#商品序号pid INT PRIMARY KEY,#商品名称pname VARCHAR(20),#商品价格price DOUBLE,#商品分类category_id VARCHAR(60) ); #查询表结构 DESC product; #添加数据 INSERT INTO product(pid,pname,price,category_id)VALUES(1,'劲霸男装',1314,'服装'), (2,'红蜻蜓皮鞋',320,'服装'), (3,'鳄鱼鞋业',2313,'服装'), (4,'香奈儿',521,'化妆品'), (5,'防晒喷剂',34,'化妆品'), (6,'曼秀雷敦',220,'化妆品'), (7,'干红',342,'饮品'), (8,'五粮液',120,'饮品'), (9,'醇啤酒',4,'饮品'), (10,'叶麦片',45,'谷物'), (11,'小米加面',4,'谷物'), (12,'红豆',10,'谷物'), (13,'黑厚学',20,'书籍'), (14,'儿诗三百首',15,'书籍'), (15,'童话大全',35,'书籍'), (16,'华为P30',4999,'手机'), (17,'苹果P8s',7800,'手机'), (18,'三星A8s',3299,'手机'), (19,'健身跑步机',12000,'健身'), (20,'杠铃',45,NULL); #如果我已经添加完数据,但是我又想添加 INSERT INTO product(pid,pname,price,category_id)VALUES(21,'泳镜',67,'健身'); #查询表数据 SELECT*FROM product;
到这一步的时候,我们现在基本上准备工作就做好了,下面我们开始查询
一:简单查询:
1,1查询多字段的表
语法:SELECT 字段名,字段名FROM 表名;
1,2查询所有商品的列表
语法:SELECT 字段名,字段名,字段名,字段名 FROM 表名; 此方法不推荐使用:效率低
SELECT *FROM product;
1,3查询商品价格并过滤重复 关键字:Distinct
语法:Select Distinct 字段名 From 表名;
Select Distinct 字段名,字段名。 From 表名;
1.4g给表起别名
语法:Select * From 表名 AS 名字;(AS可以省略不写)
1.5给字段起别名
语法:Select 字段名 新名字,字段名 新名字 From 表名;(如果新名字you空格记得要用单引号或者双引号引起来)
1.6进行数据运算
语法:Select(运算);
1.7查询进行运算之后的数据表
语法:Select 字段名,字段名+1000 From 表名;
#查询商品的价格和商品名 SELECT pname,price FROM product; #查询商品表所有列的信息 SELECT pid,pname,price,category_id FROM product; SELECT *FROM product; #查询商品价格列,过滤重复的部分 SELECT price FROM product; SELECT DISTINCT price FROM product; SELECT DISTINCT pid,pname,price,category_id FROM product; #给表起别名 SELECT *FROM product AS p; SELECT *FROM product p; #给字段起别名 SELECT pname 商品名称,price 商品价格 FROM product; SELECT pname 商品名称,price '商品价格 涨价' FROM product; #查询语句中可以直接进行数据运算 SELECT(2*23); #查询商品名称和商品价格涨价后的价格 SELECT pname,price+1000 FROM product;
二:条件查询
2,1比较运算符
基本运算符 < > <= >= <>(不等于) !=
表示查询区间 between and >=&&<=
表示多个条件 in(。。。) 例子:in(10,20) 10||20
表示空的 is null
#查询数据库表 SELECT *FROM product; #商品名称为香奈儿的商品信息 SELECT *FROM product WHERE pname='香奈儿'; #查询价格为12000的商品 SELECT *FROM product WHERE price=12000; #查询商品价格不为12000的商品 SELECT *FROM product WHERE price<>12000; SELECT * FROM product WHERE price !=12000; #查询商品价格大于200的商品 SELECT *FROM product WHERE price>200; #查询价格再10-500之间的商品 SELECT * FROM product WHERE price BETWEEN 10 AND 500; SELECT *FROM product WHERE price>=10 AND price<=1000; SELECT *FROM product WHERE price>5&&price<=50; #查询价格是10或者45的商品 SELECT *FROM product WHERE price IN(10,45); SELECT *FROM product WHERE price=10 OR price=45;
2,2模糊查询 使用关键字:like
多个任意字符%
一个任意字符_
#查询商品名称以鳄鱼开头的商品 SELECT *FROM product WHERE pname LIKE '%鱼%'; SELECT *FROM product WHERE pname LIKE'__'; SELECT *FROM product WHERE pname LIKE'____';
2,3逻辑运算符
与 and &&
或 or ||
非 ! not
#商品没有分类的商品 SELECT *FROM product WHERE category_id IS NULL; SELECT *FROM product WHERE category_id IS NOT NULL; SELECT *FROM product WHERE NOT(category_id IS NULL);
三:聚合查询:
3,1查询的结果是进行排序 ASC是升序 DESC是降序
语法:select *from 表名 order by 字段名 排序方法;
3,2显示价格 去掉重复的价格 降序
语法:SELECT DISTINCT 字段名FROM 表明ORDER BY 字段名 ASC;
SELECT DISTINCT 字段名FROM 表明ORDER BY 字段名 DESC;
3,3再分类的降序
语法:SELECT *FROM 表名ORDER BY 字段名 DESC;
3.4对某列的数据进行查询 结果是一个单一的直,会忽略null的直
3.5count统计指定列不为null行数
3.6sum指定列的数值和,如果指定的列不是数值类型,结果为0
3.7max指定列的最大直, 如果指定的列是字符串类型,那么结果为采用字符串运算
3.8min 小
3.9avg 平均值,如果指定的列不是数值类型, 那么计算结果为0
/* 查询的结果是进行排序 ASC是升序 DESC是降序 语法:select *from 表名 order by 字段名 排序方法; */ SELECT *FROM product ORDER BY price ASC; SELECT *FROM product ORDER BY price; SELECT *FROM product ORDER BY price DESC; #显示价格 去掉重复的价格 降序 SELECT DISTINCT price FROM product ORDER BY price ASC; SELECT DISTINCT price FROM product ORDER BY price DESC; SELECT *FROM product; #再分类的降序 SELECT *FROM product ORDER BY category_id DESC; #查询商品总条数 SELECT COUNT(*)FROM product; SELECT COUNT(pid)FROM product; SELECT COUNT(pname)FROM product; SELECT COUNT(price)FROM product; SELECT COUNT(category_id)FROM product; #查询价格大于50元的商品总数 SELECT COUNT(*)FROM product WHERE price>50; #查询商品的总价格 SELECT SUM(price)FROM product; #查询分类为服装的所有商品价格之和 SELECT SUM(price)FROM product WHERE category_id='服装'; #查询商品的平均值 SELECT AVG(price)FROM product; SELECT AVG(price)FROM product WHERE category_id='化妆品'; #查询商品价格中最大的价格和最小的价格 SELECT MAX(price),MIN(price)FROM product; SELECT MAX(price),MIN(price)FROM product WHERE category_id="饮品"; SELECT *FROM product; #sum avg如果指定的类型不是数值类型那么计算结果为0 SELECT SUM(pname)FROM product; SELECT AVG(pid)FROM product;
四:分组查询 重重之重 关键字:Group By Having
含义:select被分组的字段,求和,平均值,个数,最大,最小。from表名[where条件]grop by 被分组的字段
4,1按商品的类别进行分组,统计哥分类商品的个数
语法:SELECT 字段名,COUNT(*)FROM 表名GROUP BY 字段名;
4,2按商品的类别进行分组,统计各个分类商品的平均价格
语法:SELECT 字段名,AVG(字段名)FROM 表名GROUP BY 字段名;
4,3先按商品的类别分组,统计各个分组商品的个数,只查询每组商品大于200的商品
语法:SELECT 字段名,COUNT(字段名)FROM 表名WHERE 字段名>200 GROUP BY 字段名;
4,4先按商品的类别分组,统计各个分组商品的个数,只显示统计个数等于三的信息
语法:SELECT 字段名,COUNT(*)FROM 表名GROUP BY 字段名HAVING COUNT(*)=3;
#按商品的类别进行分组,统计哥分类商品的个数 SELECT category_id,COUNT(*)FROM product GROUP BY category_id; #按商品的类别进行分组,统计各个分类商品的平均价格 SELECT category_id,AVG(price)FROM product GROUP BY category_id; #where用于分组钱进行条件guolv #having用于分组后,对分完组的数据进行过滤 #先按商品的类别分组,统计各个分组商品的个数,只查询每组商品大于200的商品 SELECT category_id,COUNT(price)FROM product WHERE price>200 GROUP BY category_id ; #先按商品的类别分组,统计各个分组商品的个数,只显示统计个数等于三的信息 SELECT category_id,COUNT(*)FROM product GROUP BY category_id HAVING COUNT(*)=3;
转载于:https://www.cnblogs.com/liurui-bk517/p/10981819.html
##Mysql数据库DQL查询工具的使用相关推荐
- JAVA-MySQL四{MySQL重点DQL查询数据}JAVA从基础开始 --7
JAVA-MySQL四{MySQL重点DQL查询数据}JAVA从基础开始 --7 DQL查询语句 DQL - Data Query Language:数据查询语言 指定查询字段 1.全查 2.指定字段 ...
- MySQL中DQL查询数据——(四)
MySQL中DQL查询数据--(四) 本篇博客,是个人根据 西部开源-秦疆老师的教学视频整理出的笔记,想看最详细的教学笔记和提供的SQL语句素材,请点击如下链接: https://www.cnblog ...
- java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码
jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...
- php 查看mysql连接数据库_php基础之连接mysql数据库和查询数据
php基础之连接mysql数据库和查询数据 文章主要介绍了php连接mysql数据库和查询数据的方法和示例,需要的朋友可以参考下,就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕 ...
- 查询 oracle_关于oracle和mysql数据库的查询问题
近期在写mysql数据库报表时,需要给查询排序后的数据增加一列序号,用来统计查询数据的排名,在这里遇到一个视图和排序冲突的问题. Part 1 在oracle数据库中可以直接给查询语句增加一列ROWN ...
- ExcelToMySQL-批量导入Excel文件到MySQL数据库的自动化工具
ExcelToMySQL:批量导入Excel文件到MySQL数据库的自动化工具 简介 ExcelToMySQL 是一个可以批量导入excel到数据库(mysql/oracle/sqlserver)的自 ...
- mysql 数据库里查询语句中不等于的两种写法
mysql 数据库里查询语句中不等于的两种写法 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 1.my ...
- Mysql数据库分页查询及优化
最近遇到个数据库分页查询问题,mysql数据库分页查询默认是升序查询,就是第一页查询的是最先插入的数据,最后一页才是最新插入的数据,弄了个小的数据库表单,记录下我的操作过程,还有优化查询速度的方法. ...
- dmb mysql_DMB(For MySQL)数据库监控备份工具
因为初学Python, 花费了几个礼拜的周末休息时间, DMB的雏形已经出来, 并提供下载使用(适合新手和偷懒的人高手跳过),有Bug和建议请及时发聩给我. 因为是初学,在编写DMB的时候,当中遇到一 ...
- MySQL数据库select查询命令大全
MySQL数据库select查询命令大全 --数据库操作前的准备 -- 创建数据库 -- create database python_test_1 charset=utf8; -- 使用数据库 -- ...
最新文章
- java redisson_Java使用Redisson分布式锁实现原理
- 姑娘,你为什么要编程?
- 西安单招学校学计算机软件的,西北大学软件职业技术学院单招
- zblog php 七牛缩略图,zblog中Gravatar头像不显示解决方法
- jdbc Illegal value for setFetchSize()
- android游戏大地图如何加载失败,求助:android studio第一次加载百度地图api失败
- 深度学习自学(二十九):上下文感知和对规模不敏感的动作重复计数
- 在线思维导图工具-toolfk程序员在线工具网
- 12306分流抢票软件 v1.13.21官方版 -抢票神器
- [PTA]7-116 计算圆周率(c语言)(学习记录)
- 保存html为pdf,将网页保存为PDF的几种方法
- oracle 优化GROUP BY
- 单个索引和组合索引(联合索引)谁效率高
- 【HTML5】input标签中的Require必填项
- html画表盘 随时间转动,HTML5 canvas圆形时钟指针平缓转动随机切换表盘颜色
- socketException之broken pipe
- ubantu 安装jekins
- SQL注入漏洞测试(报错盲注)笔记
- 【硬核扫盲】到底什么是相干光通信?
- rule34服务器不稳定,rule34网站