MySQL与标准SQL的差异


让我们了解MySQL和标准SQL之间的差异。在某些情况下,MySQL执行许多操作的方式有所不同:

权限

在授予用户的权限方面,MySQL和标准SQL之间存在许多差异。在MySQL中,删除表时,表的权限不会自动撤销。需要显式发出REVOKE语句才能撤销表的权限。

外键约束

MySQL对外键约束的实现与SQL标准不同。如果父表中有多行具有相同的引用键值,InnoDB引擎会像其他具有相同键值的父行不存在一样进行外键检查。

例如,如果定义了RESTRICT类型的约束,并且存在具有多个父行子行,InnoDB将不允许删除父行。

在对多行使用insert、delete或update的SQL语句中,外键约束(例如唯一约束)逐行检查。当执行外键检查时,InnoDB会在需要检查的子记录或父记录上设置共享行级锁。

MySQL规定出于性能原因,被引用列必须被索引。但是MySQL并不强制要求被引用列必须是唯一的或声明为NOT NULL。

注释

标准SQL使用C语法/* this is a comment */来显示注释。MySQL服务器也支持此语法。标准SQL使用'--'作为注释起始序列。MySQL服务器使用'#'作为注释起始字符。

更新于:2021年3月8日

178次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.