当前位置: 首页 > news >正文

【重学 MySQL】十一、SQL 概述

【重学 MySQL】十一、SQL 概述

  • SQL 背景知识
    • 产生与发展
    • 主要特点
    • 主要应用
    • SQL语言的发展趋势
  • SQL 语言排行榜
  • SQL 分类
    • 数据查询语言(DQL, Data Query Language)
    • 数据操纵语言(DML, Data Manipulation Language)
    • 数据定义语言(DDL, Data Definition Language)
    • 数据控制语言(DCL, Data Control Language)
    • 事务控制语言(TCL, Transaction Control Language)

在这里插入图片描述

SQL 背景知识

产生与发展

  • 产生:SQL语言的雏形最早由美国IBM公司的Raymond F. Boyce和Donald D. Chamberlin在1974年提出。在1975年至1979年期间,SQL在System R上首次实现,当时称为SEQUEL。
  • 发展:随着时间的推移,SQL语言逐渐发展和完善。1986年推出了SQL-86标准,正式命名为“SQL: Structured Query Language”。此后,ANSI/ISO陆续推出了多个版本的SQL标准,包括SQL-89、SQL-92(也称为SQL2)、SQL-99(也称为SQL3)等。这些标准不断引入新的特性和功能,以满足数据库技术发展的需求。

主要特点

  • 综合统一:SQL集数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义数据库中的数据、建立数据库、查询、更新、控制数据保护等。
  • 高度非过程化:使用SQL进行数据操作,用户只需提出“做什么”,而不必指明“怎么做”,具体的实现过程由系统自动完成。这大大减轻了用户负担,提高了工作效率。
  • 面向集合的操作方式:SQL采用集合操作方式,不仅操作对象、查询结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。

主要应用

SQL语言的应用场景非常广泛,几乎涵盖了所有需要数据库支持的业务领域。以下是一些主要的应用场景:

  • 客户关系管理(CRM):通过SQL数据库存储客户信息、交易记录等数据,实现客户信息的管理和分析。
  • 人力资源管理(HRM):存储员工档案、考勤记录、薪资信息等数据,支持企业人力资源管理和员工绩效评估。
  • 供应链管理(SCM):记录供应商信息、库存情况、订单状态等数据,实现供应链的优化和管理。
  • 电子商务:存储商品信息、库存状态、价格策略等数据,支持商品管理和销售。
  • 数据分析:基于历史交易数据和市场情报,进行数据挖掘和分析,为决策提供支持。

SQL语言的发展趋势

随着大数据、云计算等技术的快速发展,SQL语言也在不断演进和扩展。近年来,SQL标准陆续推出了新的版本,如SQL:2003、SQL:2008、SQL:2011、SQL:2016等,这些新版本增加了更多的特性和功能,以支持更复杂的数据处理和分析需求。例如,SQL:2016增加了对JSON数据的支持,使得SQL在处理半结构化数据方面更加灵活和强大。

综上所述,SQL作为一种关系数据库的标准语言,具有综合统一、高度非过程化、面向集合的操作方式等特点,在多个领域都有广泛的应用。随着技术的不断发展,SQL语言也在不断更新和完善,以满足日益复杂的数据处理和分析需求。

SQL 语言排行榜

自从 SQL 加入 TIOBE 编程语言排行榜,就一直保持在 TOP10
查询官网:https://www.tiobe.com/tiobe-index/
在这里插入图片描述

SQL 分类

SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库系统的标准化语言。根据功能和应用领域的不同,SQL语言可以分为几个主要类别。

数据查询语言(DQL, Data Query Language)

  • 功能:用于检索数据库中的数据,是SQL中最常用的功能之一。
  • 核心指令:SELECT。
  • 特点:DQL通常与FROM、WHERE、GROUP BY、HAVING、ORDER BY等子句结合使用,以构造复杂的查询语句。
  • 示例:查询数据库中某个表的特定字段或记录,如SELECT column1, column2 FROM table_name WHERE condition;

数据操纵语言(DML, Data Manipulation Language)

  • 功能:用于对数据库表中的数据进行增、删、改等操作。
  • 核心指令:INSERT、UPDATE、DELETE。
  • 特点:DML操作直接影响数据库表中的数据,而不改变表的结构。
  • 示例:向表中插入新记录(INSERT),更新表中现有记录(UPDATE),从表中删除记录(DELETE)。

数据定义语言(DDL, Data Definition Language)

  • 功能:用于定义数据库中的数据结构,如表、索引、视图等对象的创建、修改和删除。
  • 核心指令:CREATE、ALTER、DROP等。
  • 特点:DDL操作会改变数据库的结构,如添加新的表、修改表结构或删除表等。
  • 示例:创建新表(CREATE TABLE),修改表结构(ALTER TABLE),删除表(DROP TABLE)。

数据控制语言(DCL, Data Control Language)

  • 功能:用于定义数据库、表、字段的访问权限和安全级别。
  • 核心指令:GRANT、REVOKE等。
  • 特点:DCL操作主要关注于数据库的安全性,通过控制不同用户对数据库对象的访问权限来确保数据的安全。
  • 示例:授予用户访问权限(GRANT),撤销用户访问权限(REVOKE)。

事务控制语言(TCL, Transaction Control Language)

  • 功能:用于管理数据库中的事务,确保数据的完整性和一致性。
  • 核心指令:COMMIT、ROLLBACK、SAVEPOINT等。
  • 特点:TCL操作允许将多个DML操作组合成一个逻辑事务,通过提交(COMMIT)或回滚(ROLLBACK)来确保事务的原子性、一致性、隔离性和持久性(ACID特性)。
  • 示例:提交事务(COMMIT),回滚事务(ROLLBACK)。

需要注意的是,虽然TCL在某些分类中被单独列出,但在一些资料中,它可能被视为DML或DCL的一部分,或者与它们并列作为SQL的一个独立类别。这取决于具体的分类方法和上下文环境。

综上所述,SQL语言根据其功能和应用领域的不同,可以分为数据查询语言(DQL)、数据操纵语言(DML)、数据定义语言(DDL)、数据控制语言(DCL)以及事务控制语言(TCL)等几个主要类别。这些类别共同构成了SQL语言的完整体系,使得用户能够高效、安全地管理和利用数据库系统。

相关文章:

【重学 MySQL】十一、SQL 概述

【重学 MySQL】十一、SQL 概述 SQL 背景知识产生与发展主要特点主要应用SQL语言的发展趋势 SQL 语言排行榜SQL 分类数据查询语言(DQL, Data Query Language)数据操纵语言(DML, Data Manipulation Language)数据定义语言&#xff0…...

(一)模式识别——基于SVM的道路分割实验(附资源)

写在前面:本报告所有代码公开在附带资源中,无法下载代码资源的伙伴私信留下邮箱,小编24小时内回复 一、实验目的 1、实验目标 学习掌握SVM(Support Vector Machine)算法思想,利用MATLAB的特定工具箱和库函…...

Python | Leetcode Python题解之第391题完美矩形

题目: 题解: class Solution:def isRectangleCover(self, rectangles: List[List[int]]) -> bool:area, minX, minY, maxX, maxY 0, rectangles[0][0], rectangles[0][1], rectangles[0][2], rectangles[0][3]cnt defaultdict(int)for rect in rec…...

Rust模块std::thread

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com) Rust到底值不值得学,之一 -CSDN博客 Rust到底值不值得学,之二-CSDN博客 Rust多线程编程概述-CSDN博客 12.…...

Leetcode Day20 打家劫舍

198 最基础 class Solution:def rob(self, nums: List[int]) -> int:dp1 [0] * len(nums)dp2 [0] * len(nums)# dp1指第i天偷了, dp2指第i天没有偷dp1[0] nums[0]for i in range(1, len(nums)):dp1[i] dp2[i - 1] nums[i]dp2[i] max(dp1[i - 1], dp2[i - 1])return m…...

云计算之数据库

目录 一、RDS产品介绍及排障思路 1.1 云RDS数据库及其特点 1.2 云RDS数据库-规格 1.3 云RDS数据库-存储 ​1.4 云RDS数据库-安全 ​1.5 云RDS数据库-整体架构 1.6 RDS常见问题排查 ​1.6.1 如何解决无法链接RDS实例的问题 1.6.2 RDS实例存储空间使用率高,怎…...

开发软件,什么类型的重要信息的日志要存到数据库表里面

在开发软件时,选择将哪些类型的重要信息日志存储到数据库表里面,主要取决于这些日志的用途、查询需求、性能考虑以及系统架构。以下是一些通常会选择存储到数据库表中的重要信息日志类型: 1. 业务日志: 交易记录:记录…...

websocket和轮询的区别?

问: websocket和轮询的区别? 回答: WebSocket 和定时轮询(每隔几秒发送一次请求)是两种不同的实时通信方法,各有优缺点,适用于不同的场景。以下是它们的主要区别及适用场景: WebSo…...

2024 年全国大学生数学建模竞赛(国赛)浅析

需要完整资料,请关注WX:“小何数模”! (需要完整B、C和E题资料请关注WX:“小何数模”,获取资料链接!) 本次万众瞩目的全国大学生数学建模赛题已正式出炉,无论是赛题难度…...

持续集成与持续部署(CI/CD)的深入探讨

在现代软件开发中,持续集成(CI)和持续部署(CD)已成为不可或缺的实践。这些方法旨在加快软件交付的速度,同时提高软件的质量和稳定性。通过CI/CD,开发团队可以频繁地将代码更改集成到主分支&…...

hyperf json-rpc

安装 安装docker hyperf 安装 hyperf-rpc-server-v8 (服务端) docker run --name hyperf-rpc-server-v8 \ -v /www/docker/hyperf-rpc-server:/data/project \ -w /data/project \ -p 9508:9501 -it \ --privileged -u root \ --entrypoint /bin/sh \…...

基于SpringBoot的外卖点餐系统

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:SpringBootJSP 工具:IDEA/Eclipse、Navicat、Maven、Tomcat 系统展示 首页 用户管理界…...

网络编程day02(字节序、TCP编程)

目录 【1】字节序 1》大小端转换 2》端口转换 3》IP地址转换 主机字节序转换为网络字节序 (小端序->大端序) 网络字节序转换为主机字节序(大端序->小端序) 【2】TCP编程 1》流程 2》函数接口 1> socket 2> …...

萌新6:临场发挥(区间dp)

题目描述 小x和室友总共 nnn 人,组团去打一款游戏,总共有 nnn 台电脑供他们使用,一人一台,最开始,第 iii 个人使用第 iii 台电脑。 小x评估了每个人的能力值和临场发挥值。 第 iii 个人的能力值为 aia_iai​。 而他们…...

《数字信号处理》学习04-离散时间系统中的线性时不变系统

目录 一,系统及离散时间系统 二,离散时间系统中的线性时不变系统 1,线性系统 1) 可加性 2) 比例性(齐次性) 3)叠加原理(叠加性质) 2,时不变系统(移不变系统) 通过前几篇文章的学习,此时我对序列的相关概…...

ABAP 调试宏DEFINE

文章目录 调试过程完整程序 调试过程 完整程序 REPORT Z_TEST_DEFINE.TYPES: BEGIN OF GTY_DATA,NAME TYPE STRING,AGE TYPE I,END OF GTY_DATA. DATA: GS_DATA TYPE GTY_DATA,GT_DATA TYPE TABLE OF GTY_DATA. DEFINE D_TEST.GS_DATA-NAME &1.GS_DATA-AGE &2.APPE…...

Golang | Leetcode Golang题解之第393题UTF-8编码验证

题目&#xff1a; 题解&#xff1a; const mask1, mask2 1 << 7, 1<<7 | 1<<6func getBytes(num int) int {if num&mask1 0 {return 1}n : 0for mask : mask1; num&mask ! 0; mask >> 1 {nif n > 4 {return -1}}if n > 2 {return n}r…...

HarmonyOS开发实战( Beta5.0)DevEco Device Tool开发环境搭建实践

通常在嵌入式开发中&#xff0c;很多开发者习惯于使用Windows进行代码的编辑&#xff0c;比如使用Windows的Visual Studio Code进行OpenHarmony代码的开发。但当前阶段&#xff0c;大部分的开发板源码还不支持在Windows环境下进行编译&#xff0c;如Hi3516、Hi3518系列开发板。…...

WIFI贴项目到底是不是“骗局”呢?由我来揭秘!

各位亲爱的朋友们&#xff0c;大家好&#xff01;我是你们的老朋友鲸天科技千千&#xff0c;一直在这片互联网的热土上耕耘。相信你们对我都不会陌生&#xff0c;因为我常常分享一些互联网上的新奇项目和实用技巧。如果你对我的内容感兴趣&#xff0c;别忘了点个关注哦&#xf…...

C++ string类—string修饰符、操作、非成员函数

一、Modifiers&#xff08;修饰符&#xff09;&#xff1a; 1、operator 这个成员函数给一个string类类型的对象进行追加&#xff0c;在现有的string后面追加string类、字符串或者字符&#xff1b; 代码示例&#xff1a; void test1() {std::string s1("Hello ");…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

C语言中提供的第三方库之哈希表实现

一. 简介 前面一篇文章简单学习了C语言中第三方库&#xff08;uthash库&#xff09;提供对哈希表的操作&#xff0c;文章如下&#xff1a; C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址&#xff1a;Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址&#xff08;如 10.244.1.2&#xff09;无特殊名称&#xff1a;在 Kubernetes 中&#xff0c;它通常被称为 “Pod IP” 或 “容器 IP”生命周期&#xff1a;与 Pod …...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能

指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...