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

什么是 SQL?

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

SQL 是数据库管理的标准语言。所有 RDBMS 系统,如 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)
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;

下降

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

句法

DROP TABLE ;

例如:

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

改变

Alters 命令允许您改变数据库的结构。

语法:

在表中添加新列

ALTER TABLE table_name ADD column_name COLUMN-definition; 

要修改表中现有的列:

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

例如:

Alter table guru99 add subject varchar; 

截短

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

语法:

TRUNCATE TABLE table_name;  

示例:

TRUNCATE table students;

什么是数据操作语言?

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

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

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

  • 插入
  • 更新
  • 删除

插入

这是一个 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 table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]   

例如:

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

删除

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

语法:

DELETE FROM table_name [WHERE condition];  

例如:

DELETE FROM students 
WHERE FirstName = 'Jhon';

什么是DCL?

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

DCL 命令示例

DCL 下的命令:

  • 格兰特
  • Rev好

格兰特

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

语法:

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;  

例如:

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

Rev好

恢复用户的权限很有用。

语法:

REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}

例如:

REVOKE SELECT, UPDATE ON student FROM BCA, MCA;  

TCL是什么?

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

承诺

此命令用于将所有交易保存到数据库。

语法:

Commit;

例如:

DELETE FROM Students  
WHERE RollNo =25;  
COMMIT;  

回滚

回滚命令允许您撤消尚未保存到数据库的事务。

语法:

ROLLBACK;  

示例:

DELETE FROM Students  
WHERE RollNo =25;  

保存点

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

语法:

SAVEPOINT SAVEPOINT_NAME;

示例:

SAVEPOINT RollNo;

什么是DQL?

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

选择

此命令可帮助您根据 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) 用于从 数据库.