SQL世界之基础命令语句
目录
一、SQL SELECT 语句
1.SQL SELECT 语法
2.SQL SELECT 实例
3.SQL SELECT * 实例
二、SQL SELECT DISTINCT 语句
1.语法
2.使用 DISTINCT 关键词
三、SQL SELECT WHERE 语句
1.WHERE 子句
2.语法
3.使用 WHERE 子句
4.引号的使用
四、SQL SELECT AND&OR 语句
1.AND 和 OR 运算符
2.AND 运算符实例
3.OR 运算符实例
4.结合 AND 和 OR 运算符
五、SQL SELECT ORDER BY 语句
1.ORDER BY 语句
1)以字母顺序显示公司名称
2)以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber)
3)以逆字母顺序显示公司名称
4)以逆字母顺序显示公司名称,并以数字顺序显示顺序号
六、SQL INSERT INTO 语句
1.语法
2.插入新的行
3.在指定的列中插入数据
七、SQL Update 语句
1.语法
2.更新某一行中的一个列
3.更新某一行中的若干列
八、SQL DELETE 语句
1.语法
2.删除某行
3.删除所有行
一、SQL SELECT 语句
SELECT 语句用于从表中选取数据。
结果被存储在一个结果表中(称为结果集)。
1.SQL SELECT 语法
SELECT 列名称 FROM 表名称
以及:
SELECT * FROM 表名称
再次提醒:SQL 语句对大小写不敏感,SELECT 等效于 select。
2.SQL SELECT 实例
如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似这样的 SELECT 语句:
SELECT LastName,FirstName FROM Persons
"Persons" 表:
Id | LastName | FirstName | Address | City |
001 | Aam | Joh | Oxd Street | London |
002 | Buh | Grge | Fifth Aue | New York |
003 | Car | Tmas | Can Street | Beijing |
结果:
LastName | FirstName |
Aam | Joh |
Buh | Grge |
Car | Tmas |
3.SQL SELECT * 实例
从 "Persons" 表中选取所有的列时,用符号 * 取代列的名称,就像这样:
SELECT * FROM Persons
提示:星号(*)是选取所有列的快捷方式。
结果:
Id | LastName | FirstName | Address | City |
001 | Aam | Joh | Oxd Street | London |
002 | Buh | Grge | Fifth Aue | New York |
003 | Car | Tmas | Can Street | Beijing |
二、SQL SELECT DISTINCT 语句
在表中,可能会包含重复值,当仅仅列出不同(distinct)的值时:
关键词 DISTINCT 用于返回唯一不同的值。
1.语法
SELECT DISTINCT 列名称 FROM 表名称
2.使用 DISTINCT 关键词
如果要从 "Company" 列中选取所有的值,就应该使用 SELECT 语句:
SELECT Company FROM Orders
"Orders"表:
Company | OrderNumber |
IBM | 3532 |
School | 2356 |
Apple | 4698 |
School | 6953 |
结果:
Company |
IBM |
School |
Apple |
School |
此时,在结果集中,School 被列出了两次。
如需从 Company" 列中仅选取唯一不同的值,只需使用 SELECT DISTINCT 语句:
SELECT DISTINCT Company FROM Orders
结果:
Company |
IBM |
School |
Apple |
三、SQL SELECT WHERE 语句
WHERE 子句用于规定选择的标准。
1.WHERE 子句
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。
2.语法
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
下面的运算符可在 WHERE 子句中使用:
操作符 | 描述 |
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。
3.使用 WHERE 子句
如果只希望选取居住在城市 "Beijing" 中的人,需要向 SELECT 语句添加 WHERE 子句:
SELECT * FROM Persons WHERE City='Beijing'
"Persons" 表
LastName | FirstName | Address | City | Year |
Aam | Joh | Oxd Street | London | 1970 |
Buh | Grge | Fifth Aue | New York | 1975 |
Car | Tmas | Can Street | Beijing | 1980 |
Gates | Bill | Xuanwumen 10 | Beijing | 1985 |
结果:
LastName | FirstName | Address | City | Year |
Car | Tmas | Can Street | Beijing | 1980 |
Gates | Bill | Xuanwumen 10 | Beijing | 1985 |
4.引号的使用
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。
文本值:
这是正确的:SELECT * FROM Persons WHERE FirstName='Buh'
这是错误的:SELECT * FROM Persons WHERE FirstName=Buh
数值:
这是正确的:SELECT * FROM Persons WHERE Year>1965
这是错误的:SELECT * FROM Persons WHERE Year>'1965'
四、SQL SELECT AND&OR 语句
AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。
1.AND 和 OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
原始的表:
LastName | FirstName | Address | City |
Aam | Joh | Oxd Street | London |
Buh | Grge | Fifth Aue | New York |
Car | Tmas | Can Street | Beijing |
Car | William | Xuanwumen 10 | Beijing |
2.AND 运算符实例
使用 AND 来显示所有姓为 "Car" 并且名为 "Tmas" 的人:
SELECT * FROM Persons WHERE FirstName='Tmas' AND LastName='Car'
结果:
LastName | FirstName | Address | City |
Car | Tmas | Can Street | Beijing |
3.OR 运算符实例
使用 OR 来显示所有姓为 "Car" 或者名为 "Tmas" 的人:
SELECT * FROM Persons WHERE Firstname='Tmas' OR Lastname='Car'
结果:
LastName | FirstName | Address | City |
Car | Tmas | Can Street | Beijing |
Car | William | Xuanwumen 10 | Beijing |
4.结合 AND 和 OR 运算符
把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):
SELECT * FROM Persons WHERE (FirstName='Tmas' OR FirstName='William')AND LastName='Car'
结果:
LastName | FirstName | Address | City |
Car | Tmas | Can Street | Beijing |
Car | William | Xuanwumen 10 | Beijing |
五、SQL SELECT ORDER BY 语句
ORDER BY 语句用于对结果集进行排序。
1.ORDER BY 语句
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。如果按照降序对记录进行排序,可以使用 DESC 关键字。
原始的表:
Company | OrderNumber |
IBM | 3532 |
School | 2356 |
Apple | 4698 |
School | 6953 |
1)以字母顺序显示公司名称
SELECT Company, OrderNumber FROM Orders ORDER BY Company
结果:
Company | OrderNumber |
Apple | 4698 |
IBM | 3532 |
School | 6953 |
School | 2356 |
2)以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber)
SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber
结果:
Company | OrderNumber |
Apple | 4698 |
IBM | 3532 |
School | 2356 |
School | 6953 |
3)以逆字母顺序显示公司名称
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
结果:
Company | OrderNumber |
School | 6953 |
School | 2356 |
IBM | 3532 |
Apple | 4698 |
4)以逆字母顺序显示公司名称,并以数字顺序显示顺序号
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
结果:
Company | OrderNumber |
School | 2356 |
School | 6953 |
IBM | 3532 |
Apple | 4698 |
六、SQL INSERT INTO 语句
INSERT INTO 语句用于向表格中插入新的行。
1.语法
INSERT INTO 表名称 VALUES (值1, 值2,....)
指定所要插入数据的列:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
2.插入新的行
"Persons" 表:
LastName | FirstName | Address | City |
Car | Tmas | Can Street | Beijing |
INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
结果:
LastName | FirstName | Address | City |
Car | Tmas | Can Street | Beijing |
Gates | Bill | Xuanwumen 10 | Beijing |
3.在指定的列中插入数据
"Persons" 表:
LastName | FirstName | Address | City |
Car | Tmas | Can Street | Beijing |
Gates | Bill | Xuanwumen 10 | Beijing |
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')
结果:
LastName | FirstName | Address | City |
Car | Tmas | Can Street | Beijing |
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Champs-Elysees |
七、SQL Update 语句
Update 语句用于修改表中的数据。
1.语法
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
Person:
LastName | FirstName | Address | City |
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Champs-Elysees |
2.更新某一行中的一个列
给Lastname是 "Wilson" 的人添加 Firstname:
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
结果:
LastName | FirstName | Address | City |
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Fred | Champs-Elysees |
3.更新某一行中的若干列
修改地址(address),并添加城市名称(city):
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'
结果:
LastName | FirstName | Address | City |
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Fred | Zhongshan 23 | Nanjing |
八、SQL DELETE 语句
DELETE 语句用于删除表中的行。
1.语法
DELETE FROM 表名称 WHERE 列名称 = 值
Person:
LastName | FirstName | Address | City |
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Fred | Zhongshan 23 | Nanjing |
2.删除某行
删除"Fred Wilson"所在行:
DELETE FROM Person WHERE LastName = 'Wilson'
结果:
LastName | FirstName | Address | City |
Gates | Bill | Xuanwumen 10 | Beijing |
3.删除所有行
可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:
DELETE FROM table_name
或者:
DELETE * FROM table_name
相关文章:
SQL世界之基础命令语句
目录 一、SQL SELECT 语句 1.SQL SELECT 语法 2.SQL SELECT 实例 3.SQL SELECT * 实例 二、SQL SELECT DISTINCT 语句 1.语法 2.使用 DISTINCT 关键词 三、SQL SELECT WHERE 语句 1.WHERE 子句 2.语法 3.使用 WHERE 子句 4.引号的使用 四、SQL SELECT AND&OR …...

Facebook未来展望:社交媒体的下一个篇章
社交媒体一直是连接人与人之间的纽带,而Facebook则一直在推动这一领域的发展。随着科技不断演进和社会需求的不断变迁,Facebook正积极筹谋社交媒体的下一个篇章。本文将深入剖析Facebook的未来展望,探讨其在社交媒体领域所迎接的新时代。 1. …...

源码搭建教学:直播带货商城小程序开发
结合小程序开发的直播带货商城,不仅可以提供更便捷的购物体验,还可以实现更高效的销售。因此,学习如何搭建一个直播带货商城小程序将成为您拓展商业领域的利器。 步骤一:准备工作 在开始开发之前,您需要进行一些准备工…...
vue-cli引入本地json数据:封装为js文件,无需请求直接读取
vue-cli引入本地json数据 1、新建js文件(路径自定义),写入JSON数据 /* jsonData.js */export let jsonData { // 声明变量,存储数据// JSON源数据 }2、组件内引入js文件,读取数据 /* Example.vue */import { json…...

20240202在Ubuntu20.04.6下使用whisper.cpp的显卡模式
20240202在Ubuntu20.04.6下使用whisper.cpp的显卡模式 2024/2/2 19:43 【结论:在Ubuntu20.04.6下,确认large模式识别7分钟中文视频,需要356447.78 ms,也就是356.5秒,需要大概5分钟!效率太差!】 …...

前端面试拼图-数据结构与算法
摘要:总结一些前端算法题,持续更新! 一、数据结构与算法 时间复杂度-程序执行时需要的计算量(CPU) 空间复杂度-程序执行时需要的内存空间 前端开发:重时间,轻空间 1.把一个数组旋转k步 arr…...

在C++的union中使用std::string(非POD对象)的陷阱
struct和union的对比 union最开始是C语言中的关键字,在嵌入式中比较常见,由于嵌入式内存比较稀缺,所以常用union用来节约空间,在其他需要节省内存的地方也可以用到这个关键字,写一个简单程序来说明union的用途 struc…...
Spring Cloud Netflix Eureka的参数调优
下面主要分为Client端和Server端两大类进行简述,Eureka的几个核心参数 客户端参数 Client端的核心参数 参数默认值说明eureka.client.availability-zones告知Client有哪些region以及availability-zones,支持配置修改运行时生效eureka.client.filter-o…...

Wireshark不显示Thrift协议
使用Wireshark对thrift协议进行抓包,但是只显示了传输层的tcp协议: "右键" -> "Decode As" 选择thrift的tcp端口 将“当前”修改为Thrift,然后点击“确定” 设置后,可以发现Wireshark里面显示的协议从Tcp变…...

VMware虚拟机安装openEuler系统(一)(2024)
目录 一、下载ISO镜像 二、开始创建虚拟机 通过实践是学习openEuler开源Linux系统的最佳方式。因此我们首先得搭建一个openEuler实战环境,文章是在Windows系统上使用VMware Workstation虚拟化软件,安装和学习openEuler开源Linux操作系统。 使用虚拟机…...
Rust入门
文章目录 一、HelloWorld二、控制台输入 以最简单的两个Rust程序例子入门Rust。首先需要下载安装Rust,之后在VSCode或Clion中运行Rust需要下载Rust插件 一、HelloWorld fn main(){println!("Hello World!"); }二、控制台输入 use std::io::stdin; fn …...

RabiitMQ延迟队列(死信交换机)
Dead Letter Exchange(死信交换机) 在MQ中,当消息成为死信(Dead message 死掉的信息)后,消息中间件可以将其从当前队列发送到另一个队列中,这个队列就是死信队列。而 在RabbitMQ中,由…...

浅谈应该遵守的伦敦银交易规则
做伦敦银投资的朋友应遵守伦敦银交易规则,伦敦银交易规则不是指那些伦敦银交易技巧,而是在这个市场中要遵循的一些约定,下面我们就来讨论一下。 风险管理。风险管理即指投资者控制自己一笔乃至整体交易的风险,没有风险管理意识的投…...
安装opencart
一、安装模板 Install SO Emarket Opencart 4 Theme 一:so_emarket_quick2 二:theme package installation 1、installed opencart Default 2、Extensions->Installer->Upload->so_emarket_theme_oc4011_home21_to_home35_v2.0.3->so_theme…...

Qt PCL学习(一):环境搭建
参考 (QT配置pcl)PCL1.12.1QT5.15.2vs2019cmake3.22.4vtk9.1.0visual studio2019Qt5.15.2PCL1.12.1vtk9.1.0cmake3.22.2 本博客用到的所有资源 版本一览:Visual Studio 2019 Qt 5.15.2 PCL 1.12.1 VTK 9.1.0https://pan.baidu.com/s/1xW7xCdR5QzgS1_d1NeIZpQ?pw…...
代码随想录算法训练营第四十二天 | 416. 分割等和子集
题目链接:416. 分割等和子集 文章讲解:代码随想录 416. 分割等和子集讲解 视频讲解:动态规划之背包问题,这个包能装满吗?| LeetCode:416.分割等和子集 思路和解法 题目: 给你一个 只包含正整…...

Spring GateWay
概述简介 能干什么 反向代理 鉴权 流量控制 熔断 日志监控 Spring Cloud Gateway 与Zuul的区别 在SpringCloud Finchley正式版之前,Spring Cloud推荐的网关是 Netflix提供的Zuul: 1、Zuul 1.x,是一个基于阻塞Ⅳ/O的APl Gateway 2、Zuul 1.x基于Servl…...

介绍一个关于 JSON 可视化的网站
最近在看到一个比较好玩的网站,可以将 JSON以可视化的方式展现出现,比如存在一下JSON数据: {"id": "f3bbc3bc-9f34-4bf7-8a0f-7e6f6e6fbb9a","isActive": false,"age": 25,"name": "…...
系统架构设计师-22年-上午答案
系统架构设计师-22年-上午答案 更多软考资料 https://ruankao.blog.csdn.net/ 1 ~ 10 1 云计算服务体系结构如下图所示,图中①、②、③分别与 SaaS PaaS Iaas相对应,图中①、②、③应为(1) #mermaid-svg-xqMbIVMC8pWrne2L {font-family:"trebuch…...

2024 年改变行业的人工智能主要趋势
1、导读 当我们迈入 2024 年时,了解人工智能趋势至关重要。它们不仅仅涉及技术进步;还涉及技术进步。它们意味着我们解决问题、做出决策和展望未来的方式发生了转变。本文旨在探索这些变革趋势,并强调人工智能如何不断突破可能性的界限&…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...