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不过分吧?
计算机专业,代码能力一般,之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发,第二份实习由于大三暑假回国的时间比较短(小于两个月),于是找的实习是在一家初创…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果 的算法。 class Solution {public int searchInsert(int[] nums, …...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...