SQL 命令:DML、DDL、DCL、TCL、DQL 及查询示例

什么是 SQL?

SQL 是一种用于在关系数据库中检索和管理数据的数据库语言。

SQL 是数据库的标准语言。所有关系数据库管理系统,如 MySQL、MS Access、Oracle、Sybase、Postgres 和 SQL Server,都使用 SQL 作为其标准数据库语言。SQL 编程语言使用各种命令进行不同的操作。我们将学习 SQL 中的 DCL、TCL、DQL、DDL 和 DML 命令,并附带示例。

为什么使用 SQL?

以下是使用 SQL 的重要原因

  • 它帮助用户访问 RDBMS 系统中的数据。
  • 它帮助您描述数据。
  • 它允许您定义数据库中的数据并操作这些特定数据。
  • 借助 DBMS 中的 SQL 命令,您可以创建和删除数据库和表。
  • SQL 使您能够在数据库中使用函数、创建视图和存储过程。
  • 您可以设置表、过程和视图的权限。

SQL 简史

以下是 SQL 历史中的重要里程碑

  • 1970 年 – Edgar F. “Ted” Codd 博士描述了数据库的关系模型。
  • 1974 年 – 结构化查询语言出现。
  • 1978 年 – IBM 发布了名为 System/R 的产品。
  • 1986 年 – IBM 开发了关系数据库的原型,该原型由 ANSI 标准化。
  • 1989 年 – SQL 的第一个版本发布
  • 1999 年 – SQL 3 发布,具有触发器、面向对象等功能。
  • SQL2003- 窗口函数、XML 相关功能等。
  • SQL2006- 支持 XML 查询语言
  • SQL2011- 增强了对时间数据库的支持

SQL 类型

以下是五种广泛使用的 SQL 查询类型。

  • 数据定义语言 (DDL)
  • 数据操作语言 (DML)
  • 数据控制语言 (DCL)
  • 事务控制语言 (TCL)
  • 数据查询语言 (DQL)
Types of SQL
SQL 类型

让我们详细了解它们

什么是 DDL?

数据定义语言帮助您定义数据库结构或模式。让我们通过语法学习 DDL 命令。

SQL 中有五种 DDL 命令

CREATE

CREATE 语句用于定义数据库结构模式

语法

CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);

例如:

Create database university;
Create table students;
Create view for_students;

DROP

DROP 命令从 RDBMS 中删除表和数据库。

语法

DROP TABLE ;

例如

Drop object_type object_name;
Drop database university;
Drop table student;

ALTER

ALTER 命令允许您更改数据库的结构。

语法

向表中添加新列

ALTER TABLE table_name ADD column_name COLUMN-definition; 

修改表中的现有列

ALTER TABLE MODIFY(COLUMN DEFINITION....);  

例如

Alter table guru99 add subject varchar; 

TRUNCATE

此命令用于删除表中的所有行并释放表占用的空间。

语法

TRUNCATE TABLE table_name;  

示例

TRUNCATE table students;

什么是数据操作语言?

数据操作语言 (DML) 允许您通过插入、修改和删除数据来修改数据库实例。它负责在数据库中执行所有类型的数据修改。

有三种基本结构允许数据库程序和用户输入数据和信息:

以下是一些重要的 SQL DML 命令

  • INSERT
  • UPDATE
  • DELETE

INSERT

这是一个 SQL 查询语句。此命令用于将数据插入表行中。

语法

INSERT INTO TABLE_NAME  (col1, col2, col3,.... col N)  
VALUES (value1, value2, value3, .... valueN);  
Or 
INSERT INTO TABLE_NAME    
VALUES (value1, value2, value3, .... valueN);    

例如

INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');

UPDATE

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

语法

UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]   

例如

UPDATE students    
SET FirstName = 'Jhon', LastName= 'Wick' 
WHERE StudID = 3;

DELETE

此命令用于从表中删除一行或多行。

语法

DELETE FROM table_name [WHERE condition];  

例如

DELETE FROM students 
WHERE FirstName = 'Jhon';

什么是 DCL?

DCL(数据控制语言)包含 GRANT 和 REVOKE 等命令,这些命令对于授予“权利和权限”很有用。其他权限控制数据库系统的参数。

DCL 命令示例

属于 DCL 的命令

  • Grant
  • Revoke

Grant

此命令用于授予用户数据库访问权限。

语法

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;  

例如

GRANT SELECT ON Users TO'Tom'@'localhost;

Revoke

它可用于撤销用户的权限。

语法

REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}

例如

REVOKE SELECT, UPDATE ON student FROM BCA, MCA;  

什么是 TCL?

事务控制语言或 TCL 命令处理数据库内的事务。

Commit

此命令用于将所有事务保存到数据库。

语法

Commit;

例如

DELETE FROM Students  
WHERE RollNo =25;  
COMMIT;  

Rollback

Rollback 命令允许您撤销尚未保存到数据库的事务。

语法

ROLLBACK;  

示例

DELETE FROM Students  
WHERE RollNo =25;  

SAVEPOINT

此命令帮助您在事务中设置保存点。

语法

SAVEPOINT SAVEPOINT_NAME;

示例

SAVEPOINT RollNo;

什么是 DQL?

数据查询语言 (DQL) 用于从数据库中获取数据。它只使用一个命令

SELECT

此命令帮助您根据 WHERE 子句描述的条件选择属性。

语法

SELECT expressions    
FROM TABLES    
WHERE conditions;  

例如

SELECT FirstName  
FROM Student  
WHERE RollNo > 15;  

摘要

  • SQL 是一种用于在关系数据库中检索和管理数据的数据库语言。
  • 它帮助用户访问 RDBMS 系统中的数据
  • 1974 年,结构化查询语言一词出现
  • 有五种 SQL 查询类型:1)数据定义语言 (DDL) 2)数据操作语言 (DML) 3)数据控制语言 (DCL) 4)事务控制语言 (TCL) 和 5)数据查询语言 (DQL)
  • 数据定义语言 (DDL) 帮助您定义数据库结构或模式。
  • 数据操作语言 (DML) 允许您通过插入、修改和删除数据来修改数据库实例。
  • DCL(数据控制语言)包含 GRANT 和 REVOKE 等命令,这些命令对于授予“权利和权限”很有用。
  • 事务控制语言或 TCL 命令处理数据库内的事务。
  • 数据查询语言 (DQL) 用于从 数据库中获取数据。