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 年时,了解人工智能趋势至关重要。它们不仅仅涉及技术进步;还涉及技术进步。它们意味着我们解决问题、做出决策和展望未来的方式发生了转变。本文旨在探索这些变革趋势,并强调人工智能如何不断突破可能性的界限&…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
