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 年时,了解人工智能趋势至关重要。它们不仅仅涉及技术进步;还涉及技术进步。它们意味着我们解决问题、做出决策和展望未来的方式发生了转变。本文旨在探索这些变革趋势,并强调人工智能如何不断突破可能性的界限&…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
