SQL:修订间差异
无编辑摘要 |
无编辑摘要 |
||
第57行: | 第57行: | ||
|- | |- | ||
|} | |} | ||
===SQL语法=== | ===SQL语法=== | ||
SQL语句以关键字开始,如<code>SELECT</code>、<code>DELETE</code>或<code>CREATE</code>,并以分号<code>;</code>结束。它们'''不区分大小写''',除了固定的字符串值,如<code>'Mr. Brown'</code> | SQL语句以关键字开始,如<code>SELECT</code>、<code>DELETE</code>或<code>CREATE</code>,并以分号<code>;</code>结束。它们'''不区分大小写''',除了固定的字符串值,如<code>'Mr. Brown'</code> | ||
{{了解更多 | |||
|[https://en.wikibooks.org/wiki/Structured_Query_Language/Language_Elements 维基教科书:SQL - 语言元素] | |||
}} | |||
==数据查询== | |||
SQL中最常见的操作是查询,它是通过<code>SELECT</code>语句执行的。<code>SELECT</code>使用一个或多个表或表达式来检索数据。标准的<code>SELECT</code>语句不会对数据库有持久影响。<code>SELECT</code>的一些非标准的实现可以有持久影响,如一些数据库中有<code>SELECT INTO</code>语法。 | |||
<code>SELECT</code>语句从一个或多个的表或视图中检索数据。 它通常由下列语言元素构成: | |||
<syntaxhighlight lang="sql"> | |||
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>; | |||
</syntaxhighlight> | |||
除了<code>SELECT</code>和<code>FROM</code>元素的其他都是可选的。 语言元素的顺序是强制性的。 <code>SELECT</code>语句可以嵌套,以递归方式查询。 | |||
{{了解更多 | |||
|[https://en.wikibooks.org/wiki/Structured_Query_Language/SELECT:_Fundamentals 维基教科书:SQL - SELECT 基本知识] | |||
}} | |||
===基本查询=== | ===基本查询=== | ||
第104行: | 第122行: | ||
== | ==数据操作== | ||
===插入数据=== | ===插入数据=== | ||
第111行: | 第129行: | ||
===删除数据=== | ===删除数据=== | ||
==数据定义== | |||
==数据控制== | |||
==资源== | ==资源== |
2020年10月21日 (三) 10:46的版本
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),后为国际标准化组织(ISO)采纳为国际标准。
- 1989年,美国ANSI采纳在ANSI X3.135-1989报告中定义的关系数据库管理系统的SQL标准语言,称为ANSI SQL 89,该标准替代ANSI X3.135-1986版本。
SQL优点
- SQL不是某个特定的DBMS(数据库管理系统)的专有语言,几乎所有重要的DBMS如:Oracle、DB2、MySQL、Microsoft SQL Server、SQLite等都支持SQL。
- SQL简单易学
基础知识
数据库基本概念
名称 | 英文 | 描述 |
---|---|---|
数据库管理系统 | Database Management System | 简称DBMS,管理数据库的软件,常见有:MySQL、SQLite、PostgreSQL及Microsoft SQL Server等。 |
关系型数据库管理系统 | Relational Database Management System | 简称RDBMS ,管理关系型数据库的软件,常见有:MySQL、SQLite、PostgreSQL及Microsoft SQL Server等。 |
数据库 | database | |
表 | table | |
列或字段 | column | 属性Attribute |
行 | row | |
主键 | ||
外键 |
SQL语法
SQL语句以关键字开始,如SELECT
、DELETE
或CREATE
,并以分号;
结束。它们不区分大小写,除了固定的字符串值,如'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>;
除了SELECT
和FROM
元素的其他都是可选的。 语言元素的顺序是强制性的。 SELECT
语句可以嵌套,以递归方式查询。
了解更多 >> 维基教科书:SQL - SELECT 基本知识
基本查询
选取数据 | 语法 | 描述 |
---|---|---|
选取单表所有数据 | SELECT * FROM 表名; | * 号为通配符
|
选取单列数据 | SELECT 列名 FROM 表名; | |
选取多列数据 | SELECT 列名1, 列名2, 列名3 FROM 表名; | 列名用逗号隔开,最后一个列名不加逗号。 |
排序
条件查询
单条件
组合条件
使用通配符
查询并处理数据
生成计算字段
汇总数据
使用函数处理
数据操作
插入数据
更新数据
删除数据
数据定义
数据控制
资源
网站
- ISO:ISO/IEC 9075-1:2016 或SQL:2016,是ISO发布的第八版标准SQL。
相关网站
书籍
- 《SQL必知必会》第四版-Ben Forta