什么是 SQL?学习 SQL 基础、SQL 全称及用法

什么是 SQL?

SQL 是处理关系型数据库的标准语言。SQL 可用于插入、搜索、更新和删除数据库记录。SQL 可以执行许多其他操作,包括数据库的优化和维护。

SQL 全称

SQL 代表结构化查询语言,发音为“S-Q-L”或有时称为“See-Quel”… MySQL 数据库、Oracle、MS SQL Server、Sybase 等关系型数据库使用 ANSI SQL。

What is SQL?
什么是 SQL?

如何使用 SQL

SQL 代码示例

SELECT * FROM Members WHERE Age > 30

不同数据库中使用的 SQL 语法几乎相同,尽管一些 RDBMS 使用一些不同的命令甚至专有的 SQL 语法。

如果视频无法访问,请点击此处

SQL 的用途是什么?

以下是使用 SQL 的重要原因

  • 它帮助用户访问 RDBMS 系统中的数据。
  • 它帮助您描述数据。
  • 它允许您定义数据库中的数据并操作该特定数据。
  • 借助 SQL,您可以创建和删除数据库和表。
  • SQL 提供您使用数据库中的函数,创建视图和存储过程。
  • 您可以设置表、过程和视图的权限。

SQL 简史

以下是 SQL 历史中的重要里程碑

  • 1970 年 – Dr. Edgar F. “Ted” Codd 描述了数据库的关系模型。
  • 1974 年 – 结构化查询语言出现。
  • 1978 年 – IBM 发布了名为 System/R 的产品。
  • 1986 年 – IBM 开发了关系数据库的原型,并由 ANSI 标准化。
  • 1989 年 – SQL 的第一个版本发布
  • 1999 年 – SQL 3 发布,具有触发器、面向对象等功能!
  • SQL 2003 – 窗口函数、XML 相关功能等。
  • SQL 2006 – 支持 XML 查询语言
  • SQL 2011 - 改进了对时态数据库的支持

SQL 语句的类型

以下是五种广泛使用的 SQL 查询类型。

  • 数据定义语言 (DDL)
  • 数据操作语言 (DML)
  • 数据控制语言 (DCL)
  • 事务控制语言 (TCL)
  • 数据查询语言 (DQL)

SQL 命令列表

以下是 Some of the most commonly used SQL 命令列表

  • CREATE – 定义数据库结构模式
  • INSERT – 将数据插入表的行
  • UPDATE – 更新数据库中的数据
  • DELETE – 从表中删除一个或多个行
  • SELECT – 根据 WHERE 子句中描述的条件选择属性
  • DROP – 删除表和数据库

SQL 进程

当您想为任何 DBMS 系统执行 SQL 命令时,您需要找到执行请求的最佳方法,SQL 引擎将决定如何解释该特定任务。

此 SQL 过程中包含的重要组件是

  • SQL 查询引擎
  • 优化引擎
  • 查询调度器
  • 经典查询引擎

经典查询引擎允许您管理所有非 SQL 查询。

SQL Process
SQL 进程

SQL 标准

SQL 是一种操作数据库的语言。它包括数据库的创建、删除、获取行、修改行等。SQL 是 ANSI(美国国家标准协会)标准语言。SQL 标准分为几个部分。

以下是 SQL 标准的一些重要部分

部分 描述
第 1 部分 – SQL/Framework 它提供了逻辑概念。
第 2 部分 – SQL/Foundation 它包括 SQL 的核心元素。
第 3 部分 – SQL/CLI 此标准包括 SQL 的核心元素。
第 4 部分 – 持久化存储模块 存储例程、外部例程和 SQL 的过程语言扩展。
第 9 部分 – 外部数据管理 为 SQL/Foundation 添加语法和定义,允许 SQL 访问非 SQL 数据源(文件)。
第 10 部分 – 对象语言绑定 对象语言绑定:此部分指定将 SQL 嵌入 Java™ 的语法和语义。
第 11 部分 – SQL/Schema 信息和定义模式
第 12 部分 – SQL/Replication 该项目始于 2000 年。此部分有助于定义语法和语义,以允许定义复制方案和规则。
第 13 部分 – Java 例程和类型 Java 例程和类型:此部分介绍了使用 Java 编程语言的例程。
第 14 部分 – SQL/XML SQL 和 XML
第 15 部分 – SQL/MDA 为多维数组提供 SQL 支持

SQL 语言元素

以下是 SQL 语言的重要元素

  • 关键字:每个 SQL 语句包含一个或多个关键字。
  • 标识符:标识符是数据库中对象的名称,例如用户 ID、表和列。
  • 字符串:字符串可以是文字字符串,也可以是具有 VARCHAR 或 CHAR 数据类型的表达式。
  • 表达式:表达式由多个元素组成,例如常量、SQL 运算符、列名和子查询。
  • 搜索条件:条件用于从表中选择行子集,或用于控制 IF 语句等语句以确定流程控制。
  • 特殊值:在创建表时,特殊值应在表达式和列默认值中使用。
  • 变量:Sybase IQ 支持局部变量、全局变量和连接级变量。
  • 注释:注释是另一个 SQL 元素,用于为 SQL 语句或语句块附加解释性文本。数据库服务器不执行任何注释。
  • NULL 值:使用 NULL,它可以帮助您指定未知、缺失或不适用的值。

SQL 中的数据库是什么?

一个 数据库 由存储结构化数据详细集合的表组成。它是一个包含行(称为记录或元组)和列(也称为属性)的集合的表。

表中的每一列都设计用于存储特定类型的信息,例如姓名、日期、美元金额和数字。

什么是 NoSQL?

NoSQL 是一种新兴的 数据库管理系统。它的主要特点是不遵循关系数据库概念。NoSQL 意为“不仅仅是 SQL”。NoSQL 数据库的概念随着 Google、Facebook、Amazon 等处理海量数据的互联网巨头而兴起。

当您将关系数据库用于海量数据时,系统在响应时间方面开始变慢。为了解决这个问题,我们可以通过升级现有硬件来“升级”我们的系统。上述问题的替代方法是,随着负载的增加,将数据库负载分布到多个主机上。这被称为“横向扩展”。

NoSQL 数据库是非关系型数据库,与关系型数据库相比,它们可以更好地横向扩展,并且是为 Web 应用程序设计的。它们不使用 SQL 查询数据,也不遵循关系模型那样的严格模式。使用 NoSQL,ACID(原子性、一致性、隔离性、持久性)特性并不总是得到保证。



为什么在 NoSQL 之后学习 SQL 是有意义的?

鉴于 NoSQL 数据库比关系模型具有更好的横向扩展优势,您可能会想为什么仍然要了解 SQL 数据库?嗯,NoSQL 数据库是非常专业的系统,它们有其特殊的用途和局限性。NoSQL 更适合处理海量数据的人。绝大多数人使用关系型数据库和相关工具。

与 NoSQL 数据库相比,关系型数据库具有以下优势。

  • SQL(关系型)数据库具有成熟的数据存储和管理模型。这对企业用户至关重要。
  • SQL 数据库支持视图的概念,允许用户仅查看他们有权查看的数据。他们无权查看的数据对他们是隐藏的。
  • SQL 数据库支持存储过程 SQL,允许数据库开发人员将部分业务逻辑实现到数据库中。
  • 与 NoSQL 数据库相比,SQL 数据库具有更好的安全模型。

世界并没有偏离关系型数据库的使用。能够处理关系型数据库的专业人士的需求正在增长。因此,学习数据库和 SQL 基础仍然有价值。

学习 SQL 的最佳书籍

以下是五本顶级 SQL 书籍

  • SQL 初学者教程

    在这本 SQL 入门教程 PDF 中,您将学习基本的数据库概念、MS-SQL 命令以及 SQL 连接、创建、添加和删除表等高级主题。立即购买

  • SQL in 10 Minutes:这本书提供了全彩代码示例,帮助您理解 SQL 语句的结构。您还将了解快捷方式和解决方案。立即购买
  • SQL Cookbook:在这本 SQL 书中,您将能够学习字符串遍历技术,该技术允许您使用 SQL 解析字符串中的字符、单词或分隔元素。立即购买
  • SQL: The Complete Reference 本书包含重要的 Microsoft SQL 主题,如窗口函数、行到列的透视、列到行的反透视。立即购买
  • SQL Pocket Guide: A Guide to SQL Usage 本书教您系统如何使用 SQL 函数、正则表达式语法和类型转换函数。立即购买

更多 SQL 书籍 – 点击此处

总结/关键要点

  • SQL 语言用于查询数据库
  • SQL 的意思或 SQL 代表:结构化查询语言
  • SQL 用途
  • RDBMS 系统
  • 描述、定义和操作数据
  • 创建和删除数据库和表
  • SQL 语句类型:DDL、DML、DCL、TCL、DQL
  • SQL 命令列表:CREATE、INSERT、UPDATE、DELETE、SELECT、DROP
  • SQL 语言元素:关键字、标识符、字符串、表达式、变量等。
  • NoSQL:意为“不仅仅是 SQL”,是数据库管理系统的一个新兴类别
  • 与传统的基于平面文件的系统相比,数据库方法在存储数据方面具有许多优势