【重学 MySQL】十一、SQL 概述

news2024/12/30 4:01:08

【重学 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语言的完整体系,使得用户能够高效、安全地管理和利用数据库系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2108335.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

产品图片小程序开发:全方位指导,让产品展示更出色

想要快速开发并上线一个展示产品图片的小程序吗?乔拓云平台是您的理想选择。只需简单几步,即可打造专属的小程序平台。 首先,访问乔拓云官方网站,注册并登录您的账号。在小程序后端,您可以自由探索丰富的模板库&#x…

Leetcode每日刷题之155.最小栈

1.题目解析 本题是实现一个栈并且要实现其中的插入、删除、返回栈顶元素、返回最小元素的函数,这里主要的难点就是返回最小元素的函数,如果我们直接遍历,那么时间复杂度就是O(N),但是题目要求我们需要在常数时间也就是O(1)的时间复…

shell 控制台显示彩色文字的方法

在shell脚本中,如果我们希望在控制台能显示带颜色的文字, 那就需要使用shell中的色彩专用变量代码来进行. shell中的各种颜色代码定义 # 颜色定义 BLACK"\033[0;30m" DARK_GRAY"\033[1;30m" BLUE"\033[0;34m" LIGHT_BLUE"\033[1;3…

vscode中全局代码片段怎么改名字

在使用vscode定义自己的代码片段的时候,有几个选项,如果我们选择了 vue.json 的文件定义代码片段,那么只能在 vue 文件中使用该片段,并且是 vue 文件中没有写其他代码的时候,如果 vue 文件中写了其他代码,那…

2024 小米芯片笔试

题型:单选题 时间:40分钟 知识点设计:数电(很多)、模电(很多)、电路(很多)、V(4-5道)、SV(1道) 感觉:??&am…

Chrome extension 谷歌浏览器插件 YouTube 监听地址栏 url 变化

一、前言 最近在开发一个 YouTube 视频 AI 总结的插件,过程中遇到了一个问题,每次用户点击当前页面其它视频时,组件并不会重新挂载,这就导致视频明明都变了,但是总结依旧还是上次的内容,很影响体验。 为…

2024年全国大学生数学建模竞赛(C题) 建模解析|农作物的种植策略|小鹿学长带队指引全代码文章与思路

我是鹿鹿学长,就读于上海交通大学,截至目前已经帮200人完成了建模与思路的构建的处理了~ 本篇文章是鹿鹿学长经过深度思考,独辟蹊径,实现综合建模。独创复杂系统视角,帮助你解决国赛的难关呀。 完整内容可以…

OpenHarmony轻松玩转GIF数据渲染

OpenAtom OpenHarmony(以下简称“OpenHarmony”)提供了Image组件支持GIF动图的播放,但是缺乏扩展能力,不支持播放控制等。今天介绍一款三方库——ohos-gif-drawable三方组件,带大家一起玩转GIF的数据渲染,搞…

【Java】Spring-AOP与拦截器实战 (上手图解)

Java系列文章目录 补充内容 Windows通过SSH连接Linux 第一章 Linux基本命令的学习与Linux历史 文章目录 Java系列文章目录一、前言二、学习内容:三、问题描述四、解决方案:4.1 认识依赖4.2 使用AOP与拦截器4.2.1 使用AOP4.2.1.1 设置DemoAop类4.2.2.2 设…

Linux驱动环境配置

Linux驱动环境配置 1.u-boot烧录2.Linux设置3.u-boot命令4.u-boot环境变量相关命令5.tftp安装与配置6.nfs7.配置网络环境变量8.tftp下载9.nfs挂载根文件系统 1.u-boot烧录 1.打开J-Flash 2.打开工程(Open Project) 3.Open data file 4.设置起始地址0x0 5.选择Target-Conne…

【Java毕业设计】基于SpringBoot+Vue+uniapp的农产品商城系统

文章目录 一、系统架构1、后端:SpringBoot、Mybatis2、前端:Vue、ElementUI4、小程序:uniapp3、数据库:MySQL 二、系统功能三、系统展示1、小程序2、后台管理系统 一、系统架构 1、后端:SpringBoot、Mybatis 2、前端…

【学术会议征稿】第三届智慧能源与电气工程国际学术会议(SEEE 2024)

第三届智慧能源与电气工程国际学术会议(SEEE 2024) 2024 3rd International Conference on Smart Energy and Electrical Engineering(SEEE 2024) 在双碳目标背景下,能源行业正在面临着绿色低碳转型的巨大挑战。随着我国产业结构全面调整&am…

show命令监控分析mysql实例信息

文章目录 思维导图show 查看数据库实例相关信息SHOW VARIABLES 分析数据库当前变量设置分析连接数据分析线程数分析慢查询变量分析缓存相关分析字符集相关SHOW STATUS 数据库当前实时状态分析分析连接数据分析线程数分析慢查询分析查询缓存分析排序使用情况分析文件打开数思维导…

09-03 周二 ansible部署与使用指南

09-03 周二 ansible部署与使用指南 时间版本修改人描述2024年9月3日10:08:58V0.1宋全恒新建文档,2024年9月4日13:57:25v0.2宋全恒调整结构,添加ansible-playbook和ansible-inventory 简介 首先要找一个跳板机,来确保所有的机器都可以访问。然…

OpenAI gym‘s breakout-v0 “pauses“

题意:OpenAI Gym 的 breakout-v0 “暂停” 问题背景: While training in the OpenAI gym environment I have the idea that the environment sometimes "stops". For many frames in a row no ball is visible/stops spawning. 在 OpenAI G…

网站代运维与建设:HTTP虚拟专线的优势

网站代运维与建设:HTTP虚拟专线的优势 企业和个人越来越依赖于网站来展示品牌形象、提供服务和与客户互动。然而,网站的建设和运维往往需要投入大量时间和资金,尤其是在服务器费用和技术维护方面。本文将探讨如何通过使用HTTP虚拟专线来降低…

【鸿蒙开发笔记】如何理解 UIAbility 组件以及它的生命周期

UIAbility 组件是一种包含了 UI 的应用组件,主要用于和用户交互。 UIAbility 组件是系统调度的基本单元,为应用提供绘制界面的窗口,一个应用可以有多个 UIAbility 组件。 每一个 UIAbility 组件实例都会在最近任务列表中显示为一个对应的任务…

【Python】Windows环境下更改pip安装源

文章目录 1.前言2.pip临时安装更改源3.pip永久更改安装源3.1方法13.2方法2 1.前言 由于pip的默认的安装源在国外,导致我们在使用pip命令安装Python 库或包时速度特别慢,因此我们可以临时使用国内的源进行下载,或者直接更改pip的下载源 2.pip临时安装更改源 pip install xxx …

微服务——服务注册和发现(二)

服务注册和发现 1.4.服务发现 服务的消费者要去nacos订阅服务,这个过程就是服务发现,步骤如下: 引入依赖 配置Nacos地址 发现并调用服务 1.4.1.引入依赖 服务发现除了要引入nacos依赖以外,由于还需要负载均衡,因…

思科IP访问控制列表3

#网络安全技术实现# #任务三扩展访问控制列表的控制3# #1配置计算机的IP 地址、子网掩码和网关 #2配置Switch-A的主机名称,创建vlan 10,20,30,并将Fa0/1划入vlan 10,Fa0/2划入vlan 20,G0/1划入vlan 30 Switch(config)#hostname Switch-A S…