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不过分吧?
计算机专业,代码能力一般,之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发,第二份实习由于大三暑假回国的时间比较短(小于两个月),于是找的实习是在一家初创…...
CoPaw模型提示词(Prompt)工程高级教程:从基础到精通
CoPaw模型提示词(Prompt)工程高级教程:从基础到精通 1. 前言:为什么需要学习提示词工程 如果你用过CoPaw模型,可能已经发现一个现象:同样的模型,不同人用起来效果天差地别。有人能生成专业级代…...
科研团队必备:Hunyuan-MT-7B快速部署与多语言评测指南
科研团队必备:Hunyuan-MT-7B快速部署与多语言评测指南 1. 为什么选择Hunyuan-MT-7B 在全球化科研合作日益频繁的今天,语言障碍成为许多团队面临的首要挑战。传统翻译工具要么支持语种有限,要么对专业术语处理不佳,而Hunyuan-MT-…...
Markdown Cheat Sheet
链接:https://pan.quark.cn/s/13b2107058ce...
EasyAnimateV5-7b-zh-InP图生视频模型:VMware虚拟机5分钟快速部署指南
EasyAnimateV5-7b-zh-InP图生视频模型:VMware虚拟机5分钟快速部署指南 1. 为什么选择EasyAnimateV5-7b-zh-InP 在众多AI视频生成模型中,EasyAnimateV5-7b-zh-InP以其专注图生视频的能力脱颖而出。与常见的文生视频模型不同,它专门针对"…...
喔去,litellm 竟然被投毒了,赶紧检查你的机器中招了没有倭
一、什么是setuptools? setuptools 是一个用于创建、分发和安装 Python 包的核心库。 它可以帮助你: 定义 Python 包的元数据(如名称、版本、作者等)。 声明包的依赖项,确保你的包能够正确运行。 构建源代码分发包&…...
35岁程序员必看:收藏这份智能体(Agent)开发指南,开启你的“第二曲线”!
35岁,已经成为职场人的魔咒。 尤其是IT行业打工人。 很多人到了35岁,被裁了。 没被裁的,也在担心被裁。 还没到35岁的,已经开始焦虑—— “到了那时候,我该怎么办?” 以前,还真没什么好办法。 但…...
基于springboot+vue好漂酿自助美甲管理系统hx0749FECS
文章目录详细视频演示技术介绍功能介绍核心代码系统效果图源码获取详细视频演示 文章底部名片,获取项目的完整演示视频,免费解答技术疑问 技术介绍 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomca…...
c语言的优点介绍
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。接下来,小编为您介绍了c语言的优点介绍,感谢您的阅读! 1、简洁紧…...
代码之外周刊(第期):当技术让一切趋同,我们还剩什么?衬
1. 前言 本文详细介绍如何使用 kylin v10 iso 文件构建出 docker image,docker 版本为 20.10.7。 2. 构建 yum 离线源 2.1. 挂载 ISO 文件 mount Kylin-Server-V10-GFB-Release-030-ARM64.iso /media 2.2. 添加离线 repo 文件 在/etc/yum.repos.d/下创建kylin…...
[AI/应用/MCP] MCP Server/Tool 开发指南腋
简介 langchain专门用于构建LLM大语言模型,其中提供了大量的prompt模板,和组件,通过chain(链)的方式将流程连接起来,操作简单,开发便捷。 环境配置 安装langchain框架 pip install langchain langchain-community 其中…...
