在开始进行查询工具的学习之前我们需要做一些准备工作,也把我们之前的只是稳固下:

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查询工具的使用相关推荐

  1. JAVA-MySQL四{MySQL重点DQL查询数据}JAVA从基础开始 --7

    JAVA-MySQL四{MySQL重点DQL查询数据}JAVA从基础开始 --7 DQL查询语句 DQL - Data Query Language:数据查询语言 指定查询字段 1.全查 2.指定字段 ...

  2. MySQL中DQL查询数据——(四)

    MySQL中DQL查询数据--(四) 本篇博客,是个人根据 西部开源-秦疆老师的教学视频整理出的笔记,想看最详细的教学笔记和提供的SQL语句素材,请点击如下链接: https://www.cnblog ...

  3. java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码

    jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...

  4. php 查看mysql连接数据库_php基础之连接mysql数据库和查询数据

    php基础之连接mysql数据库和查询数据 文章主要介绍了php连接mysql数据库和查询数据的方法和示例,需要的朋友可以参考下,就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕 ...

  5. 查询 oracle_关于oracle和mysql数据库的查询问题

    近期在写mysql数据库报表时,需要给查询排序后的数据增加一列序号,用来统计查询数据的排名,在这里遇到一个视图和排序冲突的问题. Part 1 在oracle数据库中可以直接给查询语句增加一列ROWN ...

  6. ExcelToMySQL-批量导入Excel文件到MySQL数据库的自动化工具

    ExcelToMySQL:批量导入Excel文件到MySQL数据库的自动化工具 简介 ExcelToMySQL 是一个可以批量导入excel到数据库(mysql/oracle/sqlserver)的自 ...

  7. mysql 数据库里查询语句中不等于的两种写法

    mysql 数据库里查询语句中不等于的两种写法 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 1.my ...

  8. Mysql数据库分页查询及优化

    最近遇到个数据库分页查询问题,mysql数据库分页查询默认是升序查询,就是第一页查询的是最先插入的数据,最后一页才是最新插入的数据,弄了个小的数据库表单,记录下我的操作过程,还有优化查询速度的方法. ...

  9. dmb mysql_DMB(For MySQL)数据库监控备份工具

    因为初学Python, 花费了几个礼拜的周末休息时间, DMB的雏形已经出来, 并提供下载使用(适合新手和偷懒的人高手跳过),有Bug和建议请及时发聩给我. 因为是初学,在编写DMB的时候,当中遇到一 ...

  10. MySQL数据库select查询命令大全

    MySQL数据库select查询命令大全 --数据库操作前的准备 -- 创建数据库 -- create database python_test_1 charset=utf8; -- 使用数据库 -- ...

最新文章

  1. java redisson_Java使用Redisson分布式锁实现原理
  2. 姑娘,你为什么要编程?
  3. 西安单招学校学计算机软件的,西北大学软件职业技术学院单招
  4. zblog php 七牛缩略图,zblog中Gravatar头像不显示解决方法
  5. jdbc Illegal value for setFetchSize()
  6. android游戏大地图如何加载失败,求助:android studio第一次加载百度地图api失败
  7. 深度学习自学(二十九):上下文感知和对规模不敏感的动作重复计数
  8. 在线思维导图工具-toolfk程序员在线工具网
  9. 12306分流抢票软件 v1.13.21官方版 -抢票神器
  10. [PTA]7-116 计算圆周率(c语言)(学习记录)
  11. 保存html为pdf,将网页保存为PDF的几种方法
  12. oracle 优化GROUP BY
  13. 单个索引和组合索引(联合索引)谁效率高
  14. 【HTML5】input标签中的Require必填项
  15. html画表盘 随时间转动,HTML5 canvas圆形时钟指针平缓转动随机切换表盘颜色
  16. socketException之broken pipe
  17. ubantu 安装jekins
  18. SQL注入漏洞测试(报错盲注)笔记
  19. 【硬核扫盲】到底什么是相干光通信?
  20. rule34服务器不稳定,rule34网站

热门文章

  1. 数据分析师简历缺商业项目经历怎么破?
  2. 宇宙也能测量,破解未解之谜的三维地图出炉
  3. ada:世界上第一位程序员
  4. 2021最新版上传透明头像易语言源码
  5. mysql数据库表中重命名语句_mysql数据库重命名
  6. 阅读笔记:3D visual discomfort predictor based on subjective perceived-constraint sparse representation
  7. 【BZOJ4987】Tree(树形dp)
  8. 中国大学MOOC中国文化概论试题(含答案)
  9. 公平的席位分配(Q值方法)
  10. 数据库防火墙应具备哪些能力