SQL 教程-入门基础篇
文章目录
- SQL 简介
- SQL 语法
- SQL SELECT 语句
- SQL SELECT DISTINCT 语句
- SQL WHERE 子句
- SQL AND & OR 运算符
- SQL ORDER BY 关键字
- SQL INSERT INTO 语句
- SQL UPDATE 语句
- SQL DELETE 语句
SQL 简介
SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准化语言。它允许用户通过简单的语句来定义、操作和查询数据库中的数据。
SQL 语法
SQL 语法由一系列的关键字、函数、运算符和表达式组成。下面是一些常用的 SQL 语法元素:
关键字:SQL 语句中的保留字,用于表示特定的操作或条件。例如:SELECT、INSERT、UPDATE、DELETE 等。
表达式:由常量、列名、函数和运算符组成的语句片段,用于计算结果或生成新的数据。
运算符:用于执行比较、逻辑和算术操作。例如:等于(=)、大于(>)、小于(<)、逻辑与(AND)、逻辑或(OR)等。
函数:用于执行特定的操作,例如计算、格式化或处理数据。例如:SUM、COUNT、MAX、MIN 等。
SQL SELECT 语句
SELECT 语句用于从数据库中检索数据。它的基本语法如下:
SELECT 列名1, 列名2, ...
FROM 表名;
这将返回指定表中的所有行,并且只包含指定的列。
SQL SELECT DISTINCT 语句
SELECT DISTINCT 列名
FROM 表名;
这将返回指定列中的所有不重复的值。
SQL WHERE 子句
WHERE 子句用于筛选符合指定条件的行。它的语法如下:
SELECT 列名1, 列名2, ...
FROM 表名
WHERE 条件;
条件可以使用比较运算符(例如:=、>、<、>=、<=)、逻辑运算符(例如:AND、OR)和通配符(例如:%)来定义。
SQL AND & OR 运算符
AND 和 OR 运算符用于在 WHERE 子句中结合多个条件。AND 运算符表示同时满足所有条件,OR 运算符表示满足任一条件。它们的语法如下:
SELECT 列名1, 列名2, ...
FROM 表名
WHERE 条件1 AND 条件2;
SELECT 列名1, 列名2, ...
FROM 表名
WHERE 条件1 OR 条件2;
SQL ORDER BY 关键字
ORDER BY 关键字用于对结果集按指定列进行排序。它的语法如下:
SELECT 列名1, 列名2, ...
FROM 表名
ORDER BY 列名 [ASC|DESC];
ASC 表示升序排序(默认),DESC 表示降序排序。
SQL INSERT INTO 语句
INSERT INTO 语句用于向数据库中插入新的行。它的基本语法如下:
INSERT INTO 表名 (列名1, 列名2, ...)
VALUES (值1, 值2, ...);
这将在指定的表中插入一行新数据,同时指定要插入的列和对应的值。
示例:
假设我们有一个名为 Customers 的表,包含以下列:CustomerID、FirstName、LastName、Email。我们可以使用 INSERT INTO 语句将新的客户数据插入该表:
INSERT INTO Customers (CustomerID, FirstName, LastName, Email)
VALUES (1, 'John', 'Doe', 'john@example.com');
这将在 Customers 表中插入一行数据,其中 CustomerID 为 1,FirstName 为 ‘John’,LastName 为 ‘Doe’,Email 为 ‘john@example.com’。
注意事项:
如果插入的列是可选的(即可以为空),可以省略该列的值或者使用 NULL。
如果插入的值与表中某些列的数据类型不匹配,会导致插入失败。
除了使用 VALUES 子句插入单个行,还可以使用 SELECT 语句从其他表中选择数据进行插入。例如:
INSERT INTO Customers (CustomerID, FirstName, LastName, Email)
SELECT CustomerID, FirstName, LastName, Email
FROM NewCustomers;
这将从名为 NewCustomers 的表中选择数据,并将其插入到 Customers 表中的指定列中。
总结:
INSERT INTO 语句允许我们向数据库表中插入新的行。我们可以指定要插入的列和对应的值,或者使用 SELECT 语句从其他表中选择数据进行插入。确保插入的值与表的结构和数据类型相匹配,以避免插入错误。
SQL UPDATE 语句
UPDATE 语句用于修改数据库表中现有行的数据。它的基本语法如下:
UPDATE 表名
SET 列名1 = 新值1, 列名2 = 新值2, ...
WHERE 条件;
这将根据指定的条件更新满足条件的行的数据。SET 子句用于指定要更新的列和对应的新值,WHERE 子句用于筛选要更新的行。
示例:
假设我们有一个名为 Customers 的表,包含以下列:CustomerID、FirstName、LastName、Email。我们可以使用 UPDATE 语句更新表中的数据:
UPDATE Customers
SET FirstName = 'Jane', LastName = 'Smith'
WHERE CustomerID = 1;
这将把 Customers 表中 CustomerID 为 1 的行的 FirstName 修改为 ‘Jane’,LastName 修改为 ‘Smith’。
注意事项:
如果没有指定 WHERE 子句,UPDATE 语句将会更新表中所有的行。
通过使用比较运算符和逻辑运算符,可以定义更复杂的条件来筛选要更新的行。
SQL DELETE 语句
DELETE 语句用于从数据库表中删除行。它的基本语法如下:
DELETE FROM 表名
WHERE 条件;
这将根据指定的条件删除满足条件的行。
示例:
假设我们有一个名为 Customers 的表,包含以下列:CustomerID、FirstName、LastName、Email。我们可以使用 DELETE 语句删除表中的数据:
DELETE FROM Customers
WHERE CustomerID = 1;
这将删除 Customers 表中 CustomerID 为 1 的行。
注意事项:
如果没有指定 WHERE 子句,DELETE 语句将会删除表中的所有行,即清空整个表。
通过使用比较运算符和逻辑运算符,可以定义更复杂的条件来筛选要删除的行。
需要注意的是,使用 DELETE 语句删除行时要谨慎,因为删除的数据将无法恢复。在执行 DELETE 语句之前,请务必确认要删除的行和条件,以避免意外删除数据。
总结:
DELETE 语句用于从数据库表中删除行。通过指定条件,我们可以选择要删除的行。请注意,在执行 DELETE 语句之前,请仔细确认要删除的行和条件,以避免意外删除数据。
相关文章:
SQL 教程-入门基础篇
文章目录 SQL 简介SQL 语法SQL SELECT 语句SQL SELECT DISTINCT 语句SQL WHERE 子句SQL AND & OR 运算符SQL ORDER BY 关键字SQL INSERT INTO 语句SQL UPDATE 语句SQL DELETE 语句 SQL 简介 SQL(Structured Query Language)是一种用于管理和操作关系…...
循环自相关函数和谱相关密度(六)——信号的循环平稳性(循环自相关函数)原理及推导
在通信、遥测、雷达和声纳系统中,一些人工信号是一类特殊的非平稳信号,它们的非平稳性表现为周期平稳性。通信信号常用待传输信号对周期性信号的某个参数进行调制、如对正弦载波进行调幅、调频和调相,以及对周期性脉冲信号进行脉幅、脉宽和脉位调制,都会产生具有周期平稳性…...
C/C++:04. 多态和虚函数
不加virtual,只能访问成员变量,不能访问成员函数 文章目录 前言1 虚函数与多态不用虚函数的多态使用虚函数的多态 2 C虚函数注意事项 构成多态的条件C虚函数注意事项构成多态的条件什么时候声明虚函数 3 C虚析构函数的必要性总结 前言 本节阐述C中的多态…...
拿下多个定点/比亚迪要上!这项技术要「降维打击」单目感知
2008年,斯巴鲁在全球首次推出了搭载有立体视觉摄像头的主动安全解决方案,并具有紧急制动功能的“EyeSight”。2010年,斯巴鲁推出升级版的“EyeSight”,成为世界上首个可以在全车速范围内避免碰撞的量产技术系统。 2014年ÿ…...
Go 的时间操作
Go 的时间操作 1. time 包 1.1. 时间类型 Go 语言中时间类型有两种: time.Time:表示时间的类型,常见的有两种方式: time.Now():获取当前的时间time.Date():根据指定的年、月、日、时、分、秒、纳秒等创…...
ThreeJS进阶之矩阵变换
ThreeJS的矩阵变换 Three.js使用matrix编码3D变换 —— 平移(位置),旋转和缩放。Object3D的每个实例都有一个matrix,用于存储该对象的位置,旋转和比例。这里介绍如何更新对象的变换。 三维物体(Object3D) 这是Three.js中大部分对象的基类,提供了一系列的属性和方法来对…...
分布式锁概念
什么是分布式锁 方案一:SETNX EXPIRE 方案二:SETNX value值是(系统时间过期时间) 方案三:使用Lua脚本(包含SETNX EXPIRE两条指令) 方案四:SET的扩展命令(SET EX PX NX) 方案五…...
PMP课堂模拟题目及解析(第10期)
91. 在项目执行阶段,一名项目干系人要求项目经理加入一个新过程的优化。项目经理应该怎么做? A. 执行实施整体变更控制过程。 B. 与过程专家一起审查项目。 C. 将优化项目分配给团队。 D. 拒绝范围蔓延企图。 92. 项目经理要求团队提供对项目应急计…...
Arm微架构分析系列3——Arm的X计划
1. 引言 前文介绍了Arm公司近几年在移动处理器市场推出的Cortex-A系列处理器。Cortex-A系列处理器每年迭代,性能和能效不断提升,是一款非常成功的产品。但是,Arm并不满足于Cortex-A系列每年的架构小幅度升级,又推出了X计划&#x…...
Kubernetes(K8S)的基础概念
文章目录 一、Kubernetes介绍1、什么是Kubernetes?2、为什么要用K8S?3、k8s的特性 二、k8s集群架构与组件1、Master组件2、配置存储中心——etcd3、Worker Node 组件 三、k8s核心概念●Pod●Pod 控制器(五大控制器)●Label●Label选择器(Label selector )●Service…...
【Linux进阶命令 04】lsof (看看是谁动了我的文件?)
文章目录 一、简介二、lsof语法2.1 基本格式2.2 选项2.3 输出字段解释 三、常用 lsof 操作3.1 查看某文件的相关进程3.2 网络相关:-i3.3 指定进程号打开的文件:-p3.4 指定用户打开的文件:-u3.5 某进程打开的文件:-c3.6 复合查询 四…...
华为OD机试真题 Java 实现【数字加减游戏】【2023Q1 200分】
一、题目描述 小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字s变成数字t。 每个回合,小明可以用当前的数字加上或减去一个数字。 现在有两种数字可以用来加减,分别为a,其中b没有使用次数限制。 请问小明…...
Python: 结合多进程和 Asyncio 以提高性能
动动发财的小手,点个赞吧! 简介 多亏了 GIL,使用多个线程来执行 CPU 密集型任务从来都不是一种选择。随着多核 CPU 的普及,Python 提供了一种多处理解决方案来执行 CPU 密集型任务。但是直到现在,直接使用多进程相关的…...
只需要两步就能快速接入GPT
缘起 最近一个朋友提出,让我出个关于如何快速接入GPT的教程,今天就给大家安排上。 需要的工具 经过实测,这是迄今为止最便捷的接入方式,而且亲测有效。 首先,第一步你需要下载最新版的微软Edge浏览器,去…...
使用Git-lfs上传超过100m的大文件到GitHub
文章目录 1. 安装 git-lfs2. 在Git中安装git-ifs3. 找到工程中的所有大文件4.执行完这行命令,项目目录下会生成文件 .gitattributes,此时Git push将 .gitattributes 提交到远程仓库。 5. 需要注意的事 1. 安装 git-lfs Git Large File Storage | Git La…...
【网络】计算机中的网络
目录 🍁计算机网络 🍁计算机网络模型 🍁布线工程 🍁布线系统 🦐博客主页:大虾好吃吗的博客 🦐专栏地址:网络专栏 计算机网络 计算机网络的功能 数据通信、资源共享、增加可靠性、提…...
什么是语音识别的语音助手?
前言 语音助手已经成为现代生活中不可或缺的一部分。人们可以通过语音助手进行各种操作,如查询天气、播放音乐、发送短信等。语音助手的核心技术是语音识别。本文将详细介绍语音识别的语音助手。 语音识别的基本原理 语音识别是将语音信号转换为文本的技术。语音识…...
自己动手写一个加载器
前言 当在 linux 命令行中 ./ 运行一个程序时,实际上操作系统会调用加载器将这个程序加载到内存中去执行。为了探究加载器的行为,今天我们就自己动手写一个简单的加载器。 工作原理 加载器的工作原理: 从磁盘读取 bin 文件到内存…...
C# 性能优化和Unity性能优化
C# 性能优化 C# 性能优化是一个非常广泛的话题,需要从各个方面来考虑,包括算法和数据结构、编译器优化、代码优化等等。下面是一些常见的 C# 性能优化技巧: 选择正确的数据结构:C# 提供了各种不同的数据结构,例如数组、…...
面试题背麻了,花3个月面过华为测开岗,拿个26K不过分吧?
计算机专业,代码能力一般,之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发,第二份实习由于大三暑假回国的时间比较短(小于两个月),于是找的实习是在一家初创…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
