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)
让我们详细了解它们
什么是 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) 用于从 数据库中获取数据。