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 年时,了解人工智能趋势至关重要。它们不仅仅涉及技术进步;还涉及技术进步。它们意味着我们解决问题、做出决策和展望未来的方式发生了转变。本文旨在探索这些变革趋势,并强调人工智能如何不断突破可能性的界限&…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...