SQL

Eric讨论 | 贡献2020年10月22日 (四) 01:52的版本

SQL(Structured Query Language,结构化查询语言),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL基于关系代数和元组关系演算。SQL的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。

简介

时间轴

  • 1970年代初,由IBM公司San Jose,California研究实验室的埃德加·科德发表将数据组成表格的应用原则(Codd's Relational Algebra)。
  • 1974年,同一实验室的D.D.Chamberlin和R.F. Boyce对Codd's Relational Algebra在研制关系数据库管理系统System R中,研制出一套规范语言-SEQUEL(Structured English Query Language)
  • 1976年11月,IBM Journal of R&D上公布新版本的SQL(叫SEQUEL/2)
  • 1979年,ORACLE公司首先提供商用的SQL,IBM公司在DB2和SQL/DS数据库系统中也实现了SQL。
  • 1980年,改名为SQL。
  • 1986年10月,美国国家标准学会(ANSI)采用SQL作为关系数据库管理系统的标准语言(ANSI X3. 135-1986)。
  • 1987年,国际标准化组织(ISO)采纳这一标准为国际标准。
  • 1989年,美国ANSI采纳在ANSI X3.135-1989报告中定义的关系数据库管理系统的SQL标准语言,称为ANSI SQL 89,该标准替代ANSI X3.135-1986版本。

SQL优点

基础知识

数据库基本概念

名称 英文 描述
数据库管理系统 Database Management System 简称DBMS,管理数据库的软件,常见有:MySQLSQLitePostgreSQLMicrosoft SQL Server等。
关系型数据库管理系统 Relational Database Management System 简称RDBMS ,管理关系型数据库的软件,常见有:MySQLSQLitePostgreSQLMicrosoft SQL Server等。
数据库 database
table
列或字段 column 属性Attribute
row
主键
外键


SQL语法

SQL语句以关键字开始,如SELECTDELETECREATE,并以分号;结束。它们不区分大小写,除了固定的字符串值,如'Mr. Brown'

了解更多 >> 维基教科书:SQL - 语言元素


数据查询

SQL中最常见的操作是查询,它是通过SELECT语句执行的。SELECT使用一个或多个表或表达式来检索数据。标准的SELECT语句不会对数据库有持久影响。SELECT的一些非标准的实现可以有持久影响,如一些数据库中有SELECT INTO语法。

SELECT语句从一个或多个的表或视图中检索数据。 它通常由下列语言元素构成:

SELECT   显示内容   -- 大部分是列名的列表
FROM     表名              -- 表或视图名称及其别名
WHERE    筛选条件            
GROUP BY <group_by_clause>
HAVING   <having_clause>
ORDER BY <order_by_clause>
OFFSET   <offset_clause>
FETCH    <fetch_first_or_next_clause>;

除了SELECTFROM元素的其他都是可选的。 语言元素的顺序是强制性的。 SELECT语句可以嵌套,以递归方式查询。

了解更多 >> 维基教科书:SQL - SELECT 基本知识


基本查询

选取数据 语法 描述
选取单表所有数据 SELECT * FROM 表名; * 号为通配符
选取单列数据 SELECT 列名 FROM 表名;
选取多列数据 SELECT 列名1, 列名2, 列名3 FROM 表名; 列名用逗号隔开,最后一个列名不加逗号。
别名 SELECT 列名 as 别名 FROM 表名; 将列名显示为其他名称

排序

条件查询

单条件

组合条件

使用通配符

查询并处理数据

生成计算字段

汇总数据

使用函数处理

数据操作

插入数据

更新数据

删除数据

数据定义

数据控制

资源

网站

相关网站

书籍

  • 《SQL必知必会》第四版-Ben Forta

参考文献