登录 |  注册
首页 >  数据库 >  SQL >  SQL简介

SQL简介

SQL简介


    SQL(结构化查询语言)是用于访问和操作数据库中的数据的标准数据库编程语言。

    SQL是关系数据库系统的标准语言。所有关系数据库管理系统(RDMS),如MySQL、MS Access、Oracle、Sybase、Informix、Postgres和SQL Server都使用SQL作为它们的标准数据库语言。

    为了处理数据库和数据库相关的编程,程序员需要有一些介质,或者可以说接口来详细说明一组命令或代码来处理数据库或访问数据库的数据。在本章中,将简要介绍在学习SQL的过程中您将学习的术语。


你会从SQL中学到什么?


    SQL为结构化查询语言提供了独特的学习和数据库处理技术,并将帮助您更好地控制SQL查询并有效处理这些代码。由于SQL帮助您包括数据库创建,数据库或表删除,获取行数据和修改这些数据等,并行SQL使得事情自动和平滑,最终用户可以轻松访问和处理该应用程序的数据。


SQL 是什么?


  • SQL 发音为“sequel”。
  • SQL 指结构化查询语言,全称是 Structured Query Language(是最初由IBM开发)。
  • SQL 是关系数据库系统的标准语言。
  • SQL 是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言。


SQL 能做什么?


  • SQL可以创建新的数据库及其对象(表,索引,视图,存储过程,函数和触发器)。
  • SQL可以修改现有数据库的结构。
  • SQL可以从数据库中删除(删除)对象。
  • SQL可以TRUNCATE(删除)表中的所有记录。
  • SQL可以对数据字典进行COMMENT。
  • SQL可以RENAME一个对象。
  • SQL可以从数据库中选择(检索)数据。
  • SQL可以将数据插入到表中。
  • SQL可以更新表中的现有数据。
  • SQL可以从数据库表中删除记录。
  • SQL可以在数据库中设置用户的GRANT和REVOKE权限。


SQL 的历史


  • 1970年,SQL由IBM的Donald D. Chamberlin和Raymond F. Boyce开发。
  • 1974年,开发版本最初被称为SEQUEL(结构化英语查询语言)。
  • 1979年,关系软件发布了第一个叫做System / R的商业产品。
  • 由于商标冲突问题,SEQUEL首字母缩略词后来更改为SQL。
  • 后来IBM基于System / R的原型开始在SQL上开发商业产品。
  • 第一个关系数据库由RelationalSoftware发布,后来被称为Oracle。


SQL 是一种标准 - 但是...


    虽然 SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,但是仍然存在着多种不一样版本的 SQL 语言。

然而,为了与 ANSI 标准相兼容,它们必须以类似的方式共同地来支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。

lamp 注释:除SQL标准之外,大多数SQL数据库程序还具有自己的专有扩展名!

在您的网站中使用 SQL


    要创建一个显示数据库中数据的网站,您需要:

  • 一个RDBMS数据库程序(即MS Access,SQL Server,MySQL)。
  • 使用服务器端脚本语言,如PHP或ASP。
  • 使用SQL来获取所需的数据。
  • 使用HTML / CSS来设置页面的样式


RDBMS


    RDBMS 指关系型数据库管理系统,全称 Relational Database Management System。

    RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server、IBM DB2、Oracle、MySQL 以及 Microsoft Access。

    RDBMS 中的数据存储在被称为表的数据库对象中。

    表是相关的数据项的集合,它由列和行组成。

    代码示例:

SELECT * FROM Customers;

    每个表都被分解成称为字段的更小的实体。Customers表中的字段由CustomerID,CustomerName,ContactName,Address,City,PostalCode和Country组成。字段是表中的一列,用于维护表中每条记录的特定信息。

    记录(也称为行)是表中存在的每个单独条目。例如,在上面的Customers表中有91条记录。记录是表中的横向实体。

    列是表中的垂直实体,其包含与表中的特定字段相关联的所有信息。


SQL进程


    当您对任何RDBMS执行SQL命令时,系统将确定执行请求的最佳方式,并由SQL引擎确定如何解释该任务。

    在此过程中包含了各种组件。

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

典型的查询引擎处理所有非SQL查询,但SQL查询引擎不会处理逻辑文件。


SQL标准命令


    与关系数据库交互的标准SQL命令是创建、选择、插入、更新、删除和删除,简单分为以下几组:

DDL(数据定义语言)

    数据定义语言用于改变数据库结构,包括创建、更改和删除数据库对象。用于操纵表结构的数据定义语言命令有:

  • CREATE TABLE-- 创建(在数据库中创建新表、表视图或其他对象)
  • ALTER TABLE-- 更改 (修改现有的数据库对象,如表)
  • DROP TABLE-- 删除  (删除数据库中的整个表、表或其他对象的视图)

DML(数据操纵语言)

    数据操纵语言用于检索、插入和修改数据,数据操纵语言是最常见的SQL命令。

    数据操纵语言命令包括:

  • INSERT-- 插入 (创建记录)
  • DELETE-- 删除 (删除记录)
  • UPDATE-- 修改(修改记录)
  • SELECT -- 检索 (从一个或多个表检索某些记录)

DCL(数据控制语言)

    数据控制语言为用户提供权限控制命令。

    用于权限控制的命令有:

  • GRANT-- 授予权限
  • REVOKE-- 撤销已授予的权限


SQL格式化


    使用SQL格式化工具可以比较直观的看到您想要的操作



章节小测


 现在,相信您已经了解了SQL的基础知识,那么,测验一下吧!

 SQL微课 - 数据库介绍:点击此处进行测试>>

 更多测试题请参考:《SQL测验》题库>>


上一篇: SQL入门
下一篇: SQLRDBMS概念
推荐文章
  • mysql只支持一种join算法:Nested-LoopJoin(嵌套循环连接),但Nested-LoopJoin有三种变种:SimpleNested-LoopJoin,IndexNested-LoopJoin,BlockNested-LoopJoin(简单-索引-缓冲区)原理:1.SimpleNe
  • redis是一个内存数据库,一旦断电或服务器进程退出,内存数据库中的数据将全部丢失,所以需要redis持久化 redis持久化就是把数据保存在磁盘上,利用永久性存储介质将数据保存,在特定的时间将保存的数据进行恢复的工作机制redis提供两种持久化机制RDB:存储数据结果,关注点在数据AOF:存储操作
  • 通过SQL的执行过程来介绍MySQL的基础结构.     首先有一个user_info表,表里有一个id字段,执行下面这条查询语句:Select * form user_info where i
  • 索引(Index)是帮助MySQL高效获取数据的数据结构,索引的目的在于提高查询效率,就像字典和书籍的目录一样,有了目录,可以帮助你快速查找你需要的内容。可以理解为一个排好序的快速查找数据结构。也就是
  • 说到数据库事务,大家脑子里一定很容易蹦出一堆事务的相关知识,如事务的ACID特性,隔离级别,解决的问题(脏读,不可重复读,幻读)等等,但是可能很少有人真正的清楚事务的这些特性又是怎么实现的,为什么要有四个隔离级别。今天我们就先来聊聊MySQL中事务的隔离性的实现原理,后续还会继续出文章分析其他特性的
  • 前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句
学习大纲