首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么SQL语句分为DDL、DML、DCL和TCL语句?

问为什么SQL语句分为DDL、DML、DCL和TCL语句?
EN

Stack Overflow用户
提问于 2012-10-09 23:06:06
回答 4查看 5.9K关注 0票数 2

是否需要对这些语句进行分组,或者这样做是为了对各种类型的语句(在讨论、参考文档等中)进行逻辑上的术语划分?

是否存在将这些语句划分到这些子组中很重要的用例?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-10-09 23:13:02

这些是分类,它们退出的原因与任何其他分类存在的原因相同……

关于用例,我几乎看不到您会使用这些术语的情况,但如果您是SQL Server管理工具的业务分析师,您可能会说您不希望用户访问任何类型的DDL语句,这意味着用户无法在数据库上创建对象...

票数 4
EN

Stack Overflow用户

发布于 2012-10-09 23:12:33

DDL (数据定义语言) -->用于定义数据结构和模式,如Create和Alter命令。

DML (Data Manipulation Language,数据操纵语言) -->用于使用诸如Select命令之类的模式对象管理数据。

DCL (数据控制语言) -->用于控制数据,如Revoke和Grant命令。

TCL (事务控制语言) -->用于管理由诸如Commit之类的DML语句所做的更改。

这些是分类。

票数 5
EN

Stack Overflow用户

发布于 2012-10-09 23:13:16

因此,没有必要这样做。

但在讨论SQL时,它确实提供了一个句柄。我经常使用DML和DDL作为速记。

示例:

MySQL不支持事务性DDL,但SQL Server支持。

每个人(希望)不用说就知道你的意思。

MySQL不支持事务性CREATE、ALTER和DROP语句...

它们的含义:http://www.orafaq.com/faq/what_are_the_difference_between_ddl_dml_and_dcl_commands

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12803047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档