【SQL语句大全(MySQL)】

SQL语法

  • 添加
  • 删除
  • 修改
  • 查询
    • 基本查询
    • 条件查询
    • 分组函数/聚合函数
    • 分组查询
    • 排序
    • 分页查询(限制查询)
    • 多表查询
      • 连接查询根据年代分类
      • 连接查询根据连接方式分类
        • 1、内连接
        • 2、左外连接
        • 3、右外连接
      • 多张表连接的语法格式
    • 嵌套查询
  • SQL语句书写顺序

添加

INSERT INTO 表名 
VALUES (每个属性对应的值);

删除

DELETE FROM 表名 
WHERE 条件    //如果不写条件,那么该表的内容会被全部删除

修改

UPDATE 表名 
SET 字段名=字段值,字段名=字段值... 
WHERE 条件    //与删除一样,如果不写where条件,那么所有记录都会被修改

查询

基本查询

SELECT * FROM 表名    //查询所有SELECT 字段名,字段名...
FROM 表名    //查询指定字段SELECT DISTINCT 字段名,字段名...
FROM 表名    //查询指定字段,返回唯一不同的值

条件查询

-- 单条件查询
SELECT * FROM 表名 WHERE condition-- 多条件查询
SELECT * FROM 表名 WHERE condition1 and condition2	//得到两个条件都满足的记录
SELECT * FROM 表名 WHERE condition1 or condition2	//得到两个条件至少满足一个的记录-- 指定字段查询范围
SELECT * FROM 表名 WHERE name in ('张三','李四')	//查询括号中每个name对应的记录
SELECT * FROM 表名 WHERE age between (1020)	//查询age在 [10,20) 区间的记录

更多运算符如下:
在这里插入图片描述

分组函数/聚合函数

sum    求和
avg    取平均
max    取最大值
min    取最小值
count    取得记录数    //count(*)表示取得当前查询表所有记录; count(字段名称),不会统计为null的记录

分组查询

-- 按照字段值进行分组,查找组内的平均年龄
SELECT AVG(age) FROM 表名 GROUP BY 字段名    

排序

SELECT * FROM 表名 ORDER BY 字段名 (ASC)   //按照字段值进行排序,默认正序
SELECT * FROM 表名 ORDER BY 字段名 DESC    //倒序排序
-- 先按照字段1的值进行倒序排序,再将字段1的值相同的记录按照字段2正序排序
SELECT * FROM 表名 
ORDER BY 字段名1 DESC,字段名2    
-- 先按照字段1的值进行倒序排序,再将字段1的值相同的记录按照字段2倒序排序
SELECT * FROM 表名 
ORDER BY 字段名1 DESC,字段名2 DESC   

分页查询(限制查询)

SELECT * FROM 表名 LIMIT A OFFSET B;

第一种解释(分页):
A = pageSize// 页面大小,即每个页面的记录数
B = pageSize * (pageIndex - 1) // pageIndex是第几页,SQL的页数从0开始,pageIndex从1开始,所以要 - 1, B必须为A的整数倍

另一种解释:从第B+1条记录开始,查询A条记录(记录从第一条开始);B可以不是A的整数倍
例如:select * from user limit 3 offset 5 //查询出第六条到第八条记录

多表查询

SELECT s.name,c.class_name 
FROM student s,class c    //如果没有连接条件,那么查询结果为俩张表的指定字段的所有记录

连接查询根据年代分类

1、SQL92写法 缺点:表连接条件与查询条件放在一起,没有分离
格式:select xxx from A 表名,B表名 where 表连接条件 and 数据查询条件

SELECT s.name,c.class_name 
FROM student s,class c 
WHERE s.class_num = c.class_num    //用where写连接条件

2、SQL99写法 优点:表连接独立,结构清晰,如果结果数据不满足要求,可再追加where条件进行过滤;
格式:select xxx from A 表名 join B 表名 on 表的连接条件

select student.name,class.class_name FROM student
JOIN class ON student.class_num = class.class_num

连接查询根据连接方式分类

1、内连接
SELECT student.name,class.class_name FROM student 
INNER JOIN class ON student.class_num = class.class_num
2、左外连接

包含左边表的全部行(不管右边的表中是否存在与他们匹配的行),以及右边表中全部匹配的行

SELECT student.name,class.class_name  from student 
LEFT JOIN class on student.class_num = class.class_num
3、右外连接

包含右边表的全部行(不管右边的表中是否存在与他们匹配的行),以及左边表中全部匹配的行

SELECT student.name,class.class_name FROM student 
RIGHT JOIN class ON student.class_num = class.class_num

多张表连接的语法格式

select xxx from A表
join B表 on 连接条件1
join C表 on 连接条件2

嵌套查询

一般在子查询中,程序先运行在嵌套在最内层的语句,再运行外层。
因此在写子查询语句时,可以先测试下内层的子查询语句是否输出了想要的内容,
再一层层往外测试,增加子查询正确率。否则多层的嵌套使语句可读性很低。

select t1.name FROM
(SELECT student.name,relationship.cno FROM student 
INNER JOIN relationship on student.sno = relationship.sno) t1    //t1是内层子查询的结果的别名/简称
WHERE t1.cno = '1001';

SQL语句书写顺序

SELECT DISTINCT <字段名>
FROM <表名>
JOIN <表名> 
ON <连接条件>
WHERE <筛选条件>
GROUP BY <字段名>
HAVING <筛选条件>
UNION
ORDER BY <字段名>
LIMIT <限制行数>;

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

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

相关文章

深入浅出WebRTC—ULPFEC

FEC 通过在发送端添加额外的冗余信息&#xff0c;使接收端即使在部分数据包丢失的情况下也能恢复原始数据&#xff0c;从而减轻网络丢包的影响。在 WebRTC 中&#xff0c;FEC 主要有两种实现方式&#xff1a;ULPFEC 和 FlexFEC&#xff0c;FlexFEC 是 ULPFEC 的扩展和升级&…

贪心+背包

这道题比较坑的就是我们的对于相同截止时间的需要排个序&#xff0c;因为我们这个工作是有时间前后顺序的&#xff0c;我们如果不排序的话我们一些截止时间晚的工作就无法得到最优报酬 #include<bits/stdc.h> using namespace std;#define int long long int t; int n; c…

渗透测试——利用公网反弹shell到本地的两种方式,vmware虚拟机与主机的端口转发,本地ssh无法上线的问题解决

解决问题&#xff1a; 因长期使用本地模拟靶场&#xff0c;实战护网时并非模拟靶场&#xff0c;shell反弹需要利用公网测试。解决目标站无法反弹到本地的情况。解决本地是windows&#xff0c;虚拟机是kail、linux&#xff0c;无法相互转换流量的情况。 环境搭建 靶机 centOS7 …

线性代数|机器学习-P25线性规划和两人零和博弈

文章目录 0. 概述1. 线性规划问题1.1 定义1.2 举例 2. 线性规划中的对偶问题3. 最大流 - 最小割问题4. 两人零和博弈 MIT教授教学视频&#xff0c;讲得比较泛&#xff0c;需要另外学习很多知识补充 0. 概述 线性规划[LP]问题 线性规划是问题为线性求最值&#xff0c;约束也是求…

Spring Security认证授权介绍

一、目标 真正控制系统权限的&#xff0c;需要引入专门的安全框架才行&#xff0c;所以&#xff0c;我们今天重点来学习Spring家族中的一员Spring Security安全框架。最终呢&#xff0c;我们会使用Spring Security框架来控制养老项目的后台管理系统 能够熟悉常见的权限控制的方…

记录|C# winform布局学习

目录 前言一、自适应布局Step1. 添加AutoAdaptWindowsSize类Step2. Form中引用Step3. 创建SizeChanged事件函数Step4. 在Fram.Disiger中添加 更新时间 前言 参考视频&#xff1a; C#5分钟winform快速自适应布局 参考文章&#xff1a; 其他参考&#xff1a; 写这篇文章&#xff…

【C#】Visual Studio2022打包依赖第三方库的winForm程序为exe

0.简介 IDE&#xff1a;VS2022 平台&#xff1a;C# .NetFramework4.7.2 WinForm界面 有GDAL、EEplus第三方库的依赖&#xff0c;所以在其他未安装环境的电脑中功能无法使用。 1. 安装 1.1 运行文件输出 在VS扩展中选择管理扩展&#xff0c;安装&#xff1a;Microsoft Visua…

docker相关内容学习

一、docker的四部分 二、镜像相关命令 三、容器相关命令

【BUG】已解决:NameError: name ‘python‘ is not defined

NameError: name ‘python‘ is not defined 目录 NameError: name ‘python‘ is not defined 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于…

SVN文件夹没有图标(绿钩子和红感叹号)

3分钟教会你解决SVN文件夹没有绿勾和红色感叹号的问题_svn文件被改动过不显示红色-CSDN博客https://blog.csdn.net/weixin_43382915/article/details/124251563 关于SVN状态图标不显示的解决办法(史上最全) - 简书 (jianshu.com)https://www.jianshu.com/p/92e8e1f345c0

接入百度文心一言API教程

然后&#xff0c;编辑文章。点击AI识别摘要&#xff0c;然后保存即可 COREAIPOWER设置 暂时只支持经典编辑器.古腾堡编辑器等几个版本后支持.在比期间,你可以自己写点摘要 摘要内容 AL识别摘要 清空 若有收获&#xff0c;就点个赞吧 接入文心一言 现在百度文心一言&…

网站基本布局CSS

代码 <!DOCTYPE html> <html> <head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1"><title></title><style type"text/css">body {margi…

性能调优 17. GraalVM云原生时代的Java虚拟机

1. GraalVM诞生的背景 1.1. Java在微服务/云原生时代的困境及解决方案 ‌‌‌  事实 ‌‌‌  Java总体上是面向大规模、长时间的服务端应用而设计的。 ‌‌‌  即时编译器(JIT)、性能优化、垃圾回收等有代表性的特征需要一段时间来达到最佳性能。 ‌‌‌  矛盾 ‌…

4、Python+MySQL+Flask的文件管理系统【附源码,运行简单】

4、PythonMySQLFlask的文件管理系统【附源码&#xff0c;运行简单】 总览 1、《文件管理系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 登录2.2 注册2.3 个人中心界面2.4 文件上传界面2.5 其他功能贴图 3、下载 总览 自己做的项目&#xff0c;禁止转载&#xff0c…

大厂面试官问我:两个1亿行的文件怎么求交集?【后端八股文十五:场景题合集】

本文为【场景题合集】初版&#xff0c;后续还会进行优化更新&#xff0c;欢迎大家关注交流~ hello hello~ &#xff0c;这里是绝命Coding——老白~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f…

Unity UGUI 之 Input Field

本文仅作学习笔记与交流&#xff0c;不作任何商业用途 本文包括但不限于unity官方手册&#xff0c;唐老狮&#xff0c;麦扣教程知识&#xff0c;引用会标记&#xff0c;如有不足还请斧正 1.Input Field是什么&#xff1f; 给玩家提供输入的输入框 2.重要参数 中英文对照着看…

设计模式|观察者模式

观察者模式是一种行为设计模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;让多个观察者对象同时监听某一个主题对象。当主题对象发生变化时&#xff0c;它的所有观察者都会收到通知并更新。观察者模式常用于实现事件处理系统、发布-订阅模式等。在项目中&#xff0c…

爬虫学习4:爬取王者荣耀技能信息

爬虫&#xff1a;爬取王者荣耀技能信息&#xff08;代码和代码流程&#xff09; 代码 # 王者荣耀英雄信息获取 import time from selenium import webdriver from selenium.webdriver.common.by import By if __name__ __main__:fp open("./honorKing.txt", "…

nginx隐藏server及版本号

1、背景 为了提高nginx服务器的安全性&#xff0c;降低被攻击的风险&#xff0c;需要隐藏nginx的server和版本号。 2、隐藏nginx版本号 在 http {—}里加上 server_tokens off; 如&#xff1a; http {……省略sendfile on;tcp_nopush on;keepalive_timeout 60;tcp_nodelay o…

Microsoft 365 Office BusinessPro LTSC 2024 for Mac( 微软Office办公套件)

Microsoft 365 Office BusinessPro LTSC 2024是一款专为商业用户设计的办公软件套件&#xff0c;它集成了Word、Excel、PowerPoint等核心应用&#xff0c;并特别包含了Microsoft Teams这一强大的协作工具。Teams将聊天、会议、文件共享、任务管理等功能整合到一个平台上&#x…