SQL语句大全 附带完整实例

SQL 基础

SQL 高级

实例/测验

SQL 简介

SQL 是用于访问和处理数据库的标准的计算机语言。

什么是 SQL?

  • SQL 指结构化查询语言
  • SQL 使我们有能力访问数据库
  • SQL 是一种 ANSI 的标准计算机语言
  • SQL 面向数据库执行查询
  • SQL 可从数据库取回数据
  • SQL 可在数据库中插入新的纪录
  • SQL 可从数据库删除记录
  • SQL 很容易学习

编者注:ANSI,美国国家标准化组织

SQL 是一种标准 – 但是…

SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据。SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。

不幸地是,存在着很多不同版本的 SQL 语言,但是为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的关键词(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。

注释:除了 SQL 标准之外,大部分 SQL 数据库程序都拥有它们自己的私有扩展!

SQL 数据库表

一个数据库通常包含一个或多个表。每个表由一个名字标识(例如“客户”或者“订单”)。表包含带有数据的记录(行)。

下面的例子是一个名为 “Persons” 的表:

LastNameFirstNameAddressCity
HansenOlaTimoteivn 10Sandnes
SvendsonToveBorgvn 23Sandnes
PettersenKariStorgt 20Stavanger

上面的表包含三条记录(每一条对应一个人)和四个列(姓、名、地址和城市)。

SQL 查询程序

通过 SQL,我们可以查询某个数据库,并获得返回的一个结果集。

查询程序类似这样:

SELECT LastName FROM Persons

结果集类似这样:

LastName
Hansen
Svendson
Pettersen

注释:某些数据库系统要求在 SQL 命令的末端使用分号。在我们的教程中不使用分号。

SQL 数据操作语言 (DML)

SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。

这些查询和更新语句都来自 SQL 的 DML 部分:

  • SELECT – 从数据库表中获取数据
  • UPDATE – 更新数据库表中的数据
  • DELETE – 从数据库表中删除数据
  • INSERT INTO – 向数据库表中插入数据

SQL 数据定义语言 (DDL)

SQL 的数据定义语言部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

SQL 中最重要的 DDL 语句:

  • CREATE TABLE – 创建新表
  • ALTER TABLE – 变更(改变)数据库表
  • DROP TABLE – 删除表
  • CREATE INDEX – 创建索引(搜索键)
  • DROP INDEX – 删除索引

SQL SELECT 语句

SQL SELECT 语句

SELECT 语句用于从表中选取数据。表格式的结构被存储在一个结果表中(称为结果集)。

语法

SELECT 列名称 FROM 表名称

注释:SQL 语句对大小写不敏感。SELECT 等效于 select。

SQL SELECT 实例

如需获取名为 “LastName” 和 “FirstName” 的列的内容(从名为 “Persons” 的数据库表),请使用类似这样的 SELECT 语句:

SELECT LastName,FirstName FROM Persons

“Persons” 表:

LastNameFirstNameAddressCity
HansenOlaTimoteivn 10Sandnes
SvendsonToveBorgvn 23Sandnes
PettersenKariStorgt 20Stavanger

结果:

LastNameFirstName
HansenOla
SvendsonTove
PettersenKari

获取所有的列

如需从 “Persons” 表中获取所有的列,请使用符号 * 取代列的名称,就像这样:

SELECT * FROM Persons

结果:

LastNameFirstNameAddressCity
HansenOlaTimoteivn 10Sandnes
SvendsonToveBorgvn 23Sandnes
PettersenKariStorgt 20Stavanger

结果集(result-set)

由 SQL 查询程序获得的结果被存放在一个结果集中。大多数数据库软件系统都允许使用编程函数在结果集中进行导航,比如:Move-To-First-Record、Get-Record-Content、Move-To-Next-Record 等等。

类似这些编程函数不在本教程讲解之列。如需学习通过函数调用访问数据的知识,请访问我们的 ADO 教程

在 SQL 语句后使用分号?

分号是数据库系统中分隔每条 SQL 语句的标准方法,这个方法使得对服务器的同一个调用中的若干语句都得到执行。

某些 SQL 教程使用分号来结束每条SQL语句。这是必需的吗?如果您正在使用 Access 和 SQL Server 2000,就不必在每条语句后都放置分号,但是在某些数据库中,您就不得不这么做了。

SELECT DISTINCT 语句

关键词 DISTINCT 用于返回唯一不同的值。

SELECT 语句会从表的列中返回信息。但是假如我们仅仅希望获取唯一不同的元素呢?

通过 SQL,我们所要做到所有事情就是向 SELECT 语句添加 DISTINCT 关键词:

语法:

SELECT DISTINCT 列名称 FROM 表名称

使用 DISTINCT 关键词

如果要从 “Company” 列中选取所有的值,我们需要使用 SELECT 语句:

SELECT Company FROM Orders

“Orders”表:

CompanyOrderNumber
Sega3412
W3School2312
Trio4678
W3School6798

结果:

Company
Sega
W3School
Trio
W3School

请注意,在结果集中,W3School 被列出了两次。

如需从 Company” 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:

SELECT DISTINCT Company FROM Orders

结果:

Company
Sega
W3School
Trio

现在,在结果集中,”W3School” 仅被列出了一次。

    原文作者:SQL
    原文地址: https://www.cnblogs.com/UQYT/articles/2952011.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞