SQL基础入门

news/2025/2/21 18:43:11/

SQL(结构化查询语言)是用于管理关系型数据库的标准语言,主要用于在数据库中查询、插入、更新和修改数据。

一些基本SQL知识点包括:

  • 数据类型:每个数据库表的列都需要一个数据类型。一些常见的SQL数据类型包括:INT(整数),VARCHAR(可变长字符串),TEXT(长文本),DATE(日期), FLOAT(浮点数),等等。

  • DDL,DML,DCL和TCL命令:DDL是数据定义语言,包括创建(CREATE),删除(DROP),更改(ALTER)等命令。DML是数据操作语言,包括选择(SELECT),插入(INSERT),更新(UPDATE),删除(DELETE)等命令。DCL是数据控制语言,主要包括授权(GRANT)和撤销(REVOKE)命令。TCL是事务控制语言,包括提交(COMMIT),回滚(ROLLBACK)等命令。

  • SELECT语句:是最常用的SQL命令,用于从数据库表中获取数据。可以使用WHERE子句添加条件,ORDER BY子句对结果排序。

  • INSERT语句:用于在数据库表中插入新数据。

  • UPDATE语句:用于修改数据库表中的数据。

  • DELETE语句:用于从数据库表中删除数据。

  • JOINs:包括内连接(INNER JOIN),左外连接(LEFT JOIN),右外连接(RIGHT JOIN),全外连接(FULL JOIN)。连接是通过在两个或多个表之间共享的列(键)将它们链接在一起。

  • 聚合函数:如COUNT(计数),SUM(求和),AVG(平均),MAX(最大),MIN(最小)等,这些函数用于对一组值执行计算,并返回单个值。

  • 分组(GROUP BY):该子句根据一个或多个列对结果集进行分组。一般与聚合函数一起使用。

  • 子查询:就是嵌套在另外一个查询语句内部的查询。

这只是SQL的基础知识,实际上,SQL语法包括许多高级特性,如视图,索引,触发器等。学习和掌握这些知识将变得非常强大,可以帮助你更好地理解和管理数据库。

下面是DDL,DML,DCL和TCL的命令及其含义:

  • DDL(数据定义语言):DDL或数据定义语言实际上是用来定义数据结构的。它们有CREATE,ALTER和DROP等命令。比如,你可以使用CREATE命令来创建新表或数据库,ALTER命令用于修改现有数据库的结构,而DROP命令可用于删除表和数据库。

  • DML(数据操作语言):DML或数据操作语言是用来使用和管理在数据库中保存的数据的。包括SELECT,INSERT,UPDATE,DELETE等这些命令。SELECT命令用于从数据库中选择特定数据,INSERT命令将新数据添加到数据库中,UPDATE命令将更改现有数据,而DELETE命令则从数据库中删除数据。

  • DCL(数据控制语言):DCL或数据控制语言主要与用户权限有关。这包括两个主要的命令,即GRANT和REVOKE。GRANT将特权授予特定用户,而REVOKE将删除用户的特权。

  • TCL(事务控制语言):TCL或事务控制语言用于处理事务中的情况。它包括以下两个命令:COMMIT和ROLLBACK。在更改数据库时,COMMIT用于保存所有事务,而ROLLBACK命令则用于撤销未保存的事务。

提供一些基于DDL,DML,DCL和TCL的简单SQL脚本示例。假设我们有一个名为Students的表,有以下几个字段:StudentID, StudentName, Age, GenderGrade

DDL 示例

创建表:

CREATE TABLE Students ( StudentID INT PRIMARY KEY, StudentName VARCHAR(50), Age INT, Gender CHAR(1), Grade INT);

修改表(添加新列):

ALTER TABLE Students ADD Email VARCHAR(60);

删除表:

DROP TABLE Students;

DML 示例

插入数据:

INSERT INTO Students (StudentID, StudentName, Age, Gender, Grade)VALUES (1, 'Tom', 20, 'M', 3);

选择数据:

SELECT * FROM Students WHERE Grade 2;

更新数据:

UPDATE Students SET Email = 'tom@example.com'WHERE StudentID = 1;

删除数据:

DELETE FROM Students WHERE StudentID = 1;

DCL 示例

授权:

GRANT SELECT, UPDATE ON Students TO user1;

撤销权限:

REVOKE UPDATE ON Students FROM user1;

TCL 示例

这些命令通常在修改数据库时使用:

START TRANSACTION; -- 开始一个新事务...UPDATE Students -- 做一些改变...SET Grade = 4WHERE StudentID = 1;COMMIT; -- 确认更改。START TRANSACTION; -- 开始另一个新事务...DELETE FROM Students -- 尝试删除一些内容...WHERE StudentID = 1;ROLLBACK; -- 改变主意,取消删除。


http://www.ppmy.cn/news/1423589.html

相关文章

RIME-SVM,基于RIME寒冰优化算法优化SVM支持向量机回归预测 (多输入单输出)-附代码

支持向量机(SVM) 支持向量机(SVM)是一种广泛用于分类和回归的强大监督学习算法。在回归任务中,特别是在SVM被用作支持向量回归(SVR)时,目标是找到一个函数,这个函数在给…

Linux命令学习—Apache 服务器(上)

1.1、http 服务原理 http 超文本传送协议 80 端口 https 安全的超文本传输协议 443 端口 基于 C/S(客户端/服务端)模型 协议流程: 连接:客户端与服务端建立连接 请求:客户端向服务端发送请求 应答:服务端响应,将结果…

前后端交互实例(javaweb05)

文章开始前,先给大家看一张图,这是黑马javaweb-day05请求响应实例,也是第一个实现了前后端交互,这是我画的流程图,搞懂了前后端是如何交互的.(文件的所有路径不能出现中文,否则会报错,这个我暂时不知道该怎么解决). 那么这里面涉及到的东西,除了emp.html这是已经提供了的前端页…

C++ - STL详解— string类(二)

对于STL的学习,大家更多的是去查官方文档,我觉得这是一种很高效和系统的学习,所以下面我会把对应的文档内容都给大家翻译出来,以方便大家学习STL,共勉进步,加油加油!! 函数名称功能…

Es6Proxy基础用法

proxy可以理解成为在目标对象之前设置一层拦截,每当对该对象进行访问,都会经过这层拦截,这种机制可以对外界的访问进行过滤和改写。 proxy一词意为代理,用在这里表示由它代理某些操作,可以翻译为代理器。 var obj n…

jenkins 部署 vue 项目

jenkins 部署 vue 项目 环境 系统:CentOS7.9 Jenkins:最新LTS版本 nginx: 1.24.x gitLab: 打包机:jenkins所在服务器 目标机器:nginx所在服务器 jenkins部署配置 关键脚本 #node -v #已经安装node_module就无需执行install安…

Springboot引入外部jar包并打包jar包

前言 spring boot项目开发过程中难免需要引入外部jar包&#xff0c;下面将以idea为例说明操作步骤 将需要的jar包导入到项目中 2.在maven中引入jar包 <dependency><groupId>com</groupId><!--随便填的文件夹名称--><artifactId>xxx</artif…

AWS入门实践-如何在AWS云上创建一个内外网隔离的生产环境

在 AWS 上建立一个内外网分离的生产环境,可以减少应用服务的暴露面&#xff0c;有效的保证你的应用服务器的安全。通常我们会将web应用放在外网的子网内&#xff0c;数据库服务器等放在内网的子网。我们将按照下图来部署动手实践环境&#xff0c;实现在public subnet的EC2虚拟机…