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)
让我们详细看看每一个:
什么是 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) 用于从 数据库.