知行迭代
导航
首页
最近更改
随机页面
常用
分类目录
Linux命令
Mediawiki常用
电脑技巧
工具
链入页面
相关更改
特殊页面
页面信息
登录
查看“SQL”的源代码
←
SQL
页面
讨论
阅读
查看源代码
查看历史
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:[
[1]
]
您可以查看和复制此页面的源代码。
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优点=== *几乎所有重要的DBMS如:[[MySQL]]、[[SQLite]]、[[PostgreSQL]]及[[Microsoft SQL Server]]等都支持SQL。 *SQL简单易学 ==基础知识== ===数据库基本概念=== {| class="wikitable" style="width: 100%; ! 名称 ! 英文 ! 描述 |- | [[数据库管理系统]] | 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语句以关键字开始,如<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 基本知识] }} ===基本查询=== {| class="wikitable" style="width: 100%; ! 选取数据 ! 语法 ! 描述 |- | 选取单表所有数据 | SELECT * FROM 表名; | <code>*</code> 号为通配符 |- | 选取单列数据 | SELECT 列名 FROM 表名; | |- | 选取多列数据 | SELECT 列名1, 列名2, 列名3 FROM 表名; | 列名用逗号隔开,最后一个列名不加逗号。 |- | 别名 | SELECT 列名 as 别名 FROM 表名; | 将列名显示为其他名称 |- |} ===排序=== ===条件查询=== ====单条件==== ====组合条件==== ====使用通配符==== ===查询并处理数据=== ====生成计算字段==== ====汇总数据==== ====使用函数处理==== ==数据操作== ===插入数据=== ===更新数据=== ===删除数据=== ==数据定义== ==数据控制== ==资源== ===网站=== *[https://www.iso.org/standard/63555.html ISO:ISO/IEC 9075-1:2016] 或SQL:2016,是ISO发布的第八版标准SQL。 ===相关网站=== *[https://www.liaoxuefeng.com/wiki/1177760294764384 廖雪峰:SQL教程] *[https://developer.ibm.com/zh/tutorials/l-lpic1-105-3/ IBM Developer:Ian Shields - 使用基本 SQL 命令] ===书籍=== *《SQL必知必会》第四版-Ben Forta ==参考文献== *[https://zh.wikipedia.org/zh-hans/SQL 维基百科:SQL] *[https://en.wikibooks.org/wiki/Structured_Query_Language 维基教科书:Structured Query Language] *[https://zh.wikipedia.org/wiki/SQL语法 维基百科:SQL语法] [[分类:编程语言]] [[分类:数据库]]
本页使用的模板:
模板:SQLite数据类型表
(
查看源代码
)
模板:SQL分组查询
(
查看源代码
)
模板:SQL基本查询
(
查看源代码
)
模板:SQL多表查询
(
查看源代码
)
模板:SQL排序
(
查看源代码
)
模板:SQL条件筛选
(
查看源代码
)
模板:了解更多
(
查看源代码
)
返回至“
SQL
”。