SQL 概述

SQL 是一种用于关系数据库的编程语言。 它是基于关系代数和元组关系演算而设计的。 SQL 与所有主要的 RDBMS 发行版一起作为一个包提供。

SQL 包括数据定义和数据操作语言。 使用 SQL 的数据定义属性,可以设计和修改数据库模式,而数据操作属性允许 SQL 存储和检索数据库中的数据。


数据定义语言

SQL 使用以下命令集来定义数据库架构 −

CREATE

从 RDBMS 创建新的数据库、表和视图。

例如

Create database tutorialspoint;
Create table article;
Create view for_students;

DROP

从 RDBMS 中删除命令、视图、表和数据库。

例如

Drop object_type object_name;
Drop database tutorialspoint;
Drop table article;
Drop view for_students;

ALTER

修改数据库架构。

Alter object_type object_name parameters;

例如

Alter table article add subject varchar;

此命令在关系 article 中添加一个属性,其名称为字符串类型的 subject


数据操作语言

SQL 配备了数据操作语言 (DML)。 DML 通过插入、更新和删除数据来修改数据库实例。 DML 负责数据库中所有表单数据的修改。 SQL 在其 DML 部分中包含以下命令集 −

  • SELECT/FROM/WHERE
  • INSERT INTO/VALUES
  • UPDATE/SET/WHERE
  • DELETE FROM/WHERE

这些基本结构允许数据库程序员和用户将数据和信息输入到数据库中,并使用许多过滤器选项有效地检索。

SELECT/FROM/WHERE

  • SELECT − 这是 SQL 的基本查询命令之一。 类似于关系代数的投影运算。 它根据 WHERE 子句描述的条件选择属性。

  • FROM − 该子句将关系名称作为要从中选择/投影属性的参数。 如果给出了多个关系名称,则该子句对应于笛卡尔积。

  • WHERE − 此子句定义谓词或条件,它们必须匹配才能限定要投影的属性。

例如

Select author_name
From book_author
Where age > 50;

此命令将从关系 book_author 中产生年龄大于 50 岁的作者姓名。

INSERT INTO/VALUES

此命令用于将值插入到表(关系)的行中。

语法

INSERT INTO table (column1 [, column2, column3 ... ]) VALUES (value1 [, value2, value3 ... ])

或者

INSERT INTO table VALUES (value1, [value2, ... ])

例如

INSERT INTO tutorialspoint (Author, Subject) VALUES ("anonymous", "computers");

UPDATE/SET/WHERE

此命令用于更新或修改表(关系)中列的值。

语法

UPDATE table_name SET column_name = value [, column_name = value ...] [WHERE condition]

例如

UPDATE tutorialspoint SET Author="webmaster" WHERE Author="anonymous";

DELETE/FROM/WHERE

此命令用于从表(关系)中删除一行或多行。

语法

DELETE FROM table_name [WHERE condition];

例如

DELETE FROM tutorialspoints
   WHERE Author="unknown";