MySQL DQL 基本查询

一.概念

        数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选以及确定数据以什么样的格式显示。

二.语法格式

select 列名 from 表 where 条件

1.查询所有的商品

select * from product;

2.查询商品名和商品价格

select pname,price from product;

 3.别名查询

使用关键字as,as可以省略

表别名:

select * from product as p;
select * from product p;

列别名:

select pname as '商品名',price as '商品价格' from product;

4.去掉重复值

select distinct price from product;

5.运算查询

select pname,price+10 from product;

三.运算符

1.算数运算符

+ - * / %

2.比较运算符

1)<=>

安全的等于,两个操作数均为null时,其所得值为1;当一个操作数为null时,其所得值为0.

2)<> 或!=

不等于

3)IS NULL或ISNULL

判断一个值是否为NULL

4)IS NOT NULL

5)LEAST 

返回最小值

6)GREATEST

返回最大值

7)BETWEEN AND

判断一个值是否落在两个值之间

8)IN

判断一个值是列表中的任意一个值

9)NOT IN

10)LIKE 

通配符匹配

11)REGEXP

正则表达式匹配

 注:

1)通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。

2)正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。

3.逻辑运算符

1)NOT或!

逻辑非

2)AND或&&

逻辑与

3)OR或||

逻辑或

4)XOR

逻辑异或

四.运算符的应用 

1.算数运算符

select pname,price+10 as new_price from product;

2.比较运算符/逻辑运算符

select * from product where pname='海尔洗衣机';
select * from product where price=800; 
select * from product where price in (200,800);
select * from product where pname like '%裤%';

%用来匹配任意字符

select * from product where pname like '_%蔻';

_下划线匹配单个字符

select * from product where category_id is null;

不能够使用=,因为null不等于任何值。

求最小值和最大值时,如果有一个值为null,则不进行比较,结果直接为null。

五.排序查询

对读取的数据进行排序,使用order by语句

语法格式:

select

        字段名1,字段名2,……

from 表名

order by 字段名1 [asc,desc],字段名2 [asc,desc]

asc表示升序,desc表示降序,默认升序

order by 子句,放在查询语句的最后面。limit子句除外

select * from product order by price desc;
select * from product order by price desc , category_id desc;
select distinct price from product order by price desc;

六.聚合查询

之前我们做的查询都是横向查询,而聚合查询是对一列的值进行计算,返回一个值。

1.查询商品的总条数

select count(pid) from product;
select count(*) from product;

查询所有记录不为空的条数

select count(pid) from product where price>200;

 2.查询总和

select sum(price) from product where category_id='c001';

3.查询最大/最小价格

select max(price) from product;
select min(price) from product;

4.查询平均价格

select avg(price) from product where category_id='c002';

5.聚合查询对于null的处理

1.count函数对null值的处理

如果count函数的参数为*,则统计所有记录的个数。如果参数为某字段,则不统计含null值的记录个数。

2.sum/avg/max/min对null值的处理

忽略null值的存在

七.分组查询(group by)

对查询信息进行分组

select category_id,count(id) from product group by category_id;

分组之后,select后面只能写分组字段和聚合函数。

分组之后的条件筛选——having

分组之后对统计结果进行筛选不能够使用where

having子句用来从分组的结果中筛选行。

select category_id,count(id) cnt from product group by category_id having cnt>4;

SQL的执行顺序

from ->group by ->count ->select ->having ->order by 

八.分页查询(limit)

采用分页显示方式。

limit m,n

m:整数,表示从第几条索引开始

n:整数,表示查询多少条数据

select * from product limit 5;

显示前5条 

select * from product limit 3,5;

从第四条开始显示,显示5条。

九.数据导入

将一张表的数据导入到另一张表中

格式;

insert into table2 select * from table1

要求目标表2必须存在。

insert into product3 select category_id , count(*) from product group by category_id;

十.总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/686406.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新PyCharm安装详细教程及pycharm配置

目录 一、PyCharm简介及其下载网站 二、单击网站的Downloads&#xff0c;进入二级页面&#xff0c;选择对应的操作系统下载PyCharm 三、PyCharm的安装程序的安装及其配置(configuration) 1、运行PyCharm Setup 2、安装位置设置 3、安装选项设置 4、开始菜单中PyCharm快捷方式的…

【C语言】实现队列

目录 &#xff08;一&#xff09;队列 &#xff08;二&#xff09;头文件 &#xff08;三&#xff09; 功能实现 &#xff08;1&#xff09;初始化 &#xff08;2&#xff09; 销毁队列 &#xff08;3&#xff09; 入队 &#xff08;4&#xff09;出队 &#xff08;5&a…

spring boot 使用AOP实现是否已登录检测

前后端分离的开发中&#xff0c;用户http请求应用服务的接口时, 如果要求检测该用户是否已登录。可以实现的方法有多种&#xff0c; 本示例是通过aop 的方式实现&#xff0c;简单有效。 约定&#xff1a;前端http的post 请求 export async function request(url,data) {const …

leetcode77组合 剪枝条件详细解释

题目&#xff1a;77. 组合 - 力扣&#xff08;LeetCode&#xff09; 题解&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 思路来自代码随想录&#xff1a; 带你学透回溯算法-组合问题&#xff08;对应力扣题目&#xff1a;77.组合&…

TCP/IP五层各层协议详解

TCP/IP协议栈是网络通信的基础&#xff0c;它由五层协议组成&#xff0c;分别是物理层、数据链路层、网络层、传输层和应用层。以下是对各层协议的详细解释&#xff1a; 1. 物理层&#xff08;Physical Layer&#xff09;&#xff1a;该层负责传输比特流&#xff0c;主要定义传…

centos7系列:出现ZooKeeper JMX enabled by default这种错误的解决方法

出现ZooKeeper JMX enabled by default这种错误的解决方法 前言一 问题描述二 解决方法2.1 可能的原因分析2.2 小编的问题解决方法First&#xff1a;检查/etc/profile里面zookeeper的环境变量配置Second&#xff1a;检查 zookeeper/conf/zoo.cfg里面的dataDir的路径 总结 前言 …

Nginx七层负载均衡之动静分离

思路: servera:负载均衡服务器 serverb:静态服务器 serverc:动态服务器 serverd:默认服务器 servera(192.168.233.132): # 安装 Nginx 服务器 yum install nginx -y#关闭防火墙和selinux systemctl stop firewalld setenforce 0# 切换到 Nginx 配置文…

【Linux内核】从0开始入门Linux Kernel源码

&#x1f308; 博客个人主页&#xff1a;Chris在Coding &#x1f3a5; 本文所属专栏&#xff1a;[Linux内核] ❤️ 前置学习专栏&#xff1a;[Linux学习]从0到1 ⏰ 我们仍在旅途 ​ 目录 …

Python内置函数04——enumerate

文章目录 概述语法实例展示 概述 在Python中&#xff0c;enumerate()是一个很常用的内置函数。它的作用是将一个可迭代对象&#xff08;如列表、元组、字符串等&#xff09;组合为一个索引序列和元素序列的枚举对象。 语法 enumerate(iterable, start0) 其中&#xff0c;ite…

Midjourney绘图欣赏系列(五)

Midjourney介绍 Midjourney 是生成式人工智能的一个很好的例子&#xff0c;它根据文本提示创建图像。它与 Dall-E 和 Stable Diffusion 一起成为最流行的 AI 艺术创作工具之一。与竞争对手不同&#xff0c;Midjourney 是自筹资金且闭源的&#xff0c;因此确切了解其幕后内容尚不…

OSS业务存储适配器模式

流程 当我们配置了阿里云&#xff0c;腾讯云&#xff0c;minio等多个云存储厂商的业务代码时&#xff0c;如果我们要修改具体使用哪一种厂商的云存储&#xff0c;那么我们的controller层和service层就会需要改变业务代码&#xff1b;此时我们可以使用适配器模式来进行松耦合—…

WebSocket 详细教程

WebSocket 是一种网络通信协议&#xff0c;它实现了客户端与服务器之间的全双工通信。与传统的 HTTP 协议不同&#xff0c;WebSocket 允许服务器主动向客户端发送消息&#xff0c;这对于实时应用&#xff08;如在线聊天、股票交易、游戏等&#xff09;来说非常重要。 1. 工作原…

Leetcode 11-15题

盛最多雨水的容器 数组的第 i i i个数字表示这个位置隔板的高度&#xff0c;选择哪两块板子可以装最多的水&#xff0c;返回可以存储的最大水量。 有一种双指针的贪心策略&#xff1a;如果左边的指针所在的挡板低&#xff0c;就将左边的指针右移&#xff0c;否则将右边的指针左…

MATLAB知识点:nchoosek函数(★★★☆☆)用来计算组合数,也能返回从向量v中抽取k个元素的所有组合

讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 节选自第3章&#xff1a;课后习题讲解中拓展的函数 在讲解第三…

算法训练营day28(补), 贪心算法2

//122. 买卖股票的最佳时机 II func maxProfit(prices []int) int { result : 0 //利润总和 for i : 1; i < len(prices); i { if prices[i]-prices[i-1] > 0 { result result (prices[i] - prices[i-1]) } } return result } //55. 跳跃游戏 func canJump(nums []…

模型 4E(交换、体验、随处、传教)理论

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_总纲目录。重在提升认知。聚焦体验营销。 1 模型 4E(交换、体验、随处、传教)理论的应用 1.1 4E 理论在软件产品营销中的应用 某软件公司利用 4E 理论提升软件产品的市场占有率。具体如下&#xff1a; Exchange&a…

人工智能学习与实训笔记(四):神经网络之NLP基础—词向量

人工智能专栏文章汇总&#xff1a;人工智能学习专栏文章汇总-CSDN博客 本篇目录 四、自然语言处理 4.1 词向量 (Word Embedding) 4.1.1 词向量的生成过程 4.1.2 word2vec介绍 4.1.3 word2vec&#xff1a;skip-gram算法的实现 4.2 句向量 - 情感分析 4.2.1 LSTM (Long S…

C语言之日历问题

一、代码展示 #include<stdio.h> int leapyear(int year)//判断是不是闰年函数 {if (year % 4 0 && year % 100 ! 0 || year % 400 0)return 1;elsereturn 0; } int days(int year, int month, int* day)//判断一个月有几天 {if (month ! 2)return day[month…

7.JS里表达式,if条件判断,三元运算符,switch语句,断点调试

表达式和语句的区别 表达式就是可以被求值的代码比如什么a 1 语句就是一段可以执行的代码比如什么if else 直接给B站的黑马程序员的老师引流一波总结的真好 分支语句 就是基本上所有的语言都会有的if else 语句就是满足不同的条件执行不同的代码&#xff0c;让计算机有条件…

【Java程序员面试专栏 Java领域】Java虚拟机 核心面试指引

关于Java 虚拟机部分的核心知识进行一网打尽,主要包括Java虚拟机的内存分区,执行流程等,通过一篇文章串联面试重点,并且帮助加强日常基础知识的理解,全局思维导图如下所示 JVM 程序执行流程 包括Java程序的完整执行流程,以及Javac编译,JIT即时编译 Java程序的完整执…