MySQL 与标准 SQL 的区别
mysqlmysqli database更新于 2024/2/6 4:44:00
让我们了解 MySQL 与标准 SQL 的区别。MySQL 在某些情况下执行许多不同的操作 −
权限
在授予用户的权限方面,MySQL 与标准 SQL 存在许多差异。在 MySQL 中,删除表时不会自动撤销表的权限。需要明确发出 REVOKE 语句才能撤销表的权限。
外键约束
MySQL 对外键约束的实现与 SQL 标准不同。如果父表中有许多行具有相同的引用键值,则 InnoDB 引擎会进行外键检查,认为具有相同键值的其他父行不存在。
例如,如果定义了 RESTRICT 类型约束,并且有一个子行具有许多父行,则 InnoDB 将不允许删除父行。
在对多行使用插入、删除或更新的 SQL 语句中,将逐行检查外键约束(例如唯一约束)。执行外键检查时,InnoDB 会在需要检查的子记录或父记录上设置共享行级锁。
出于性能原因,MySQL 要求必须对引用的列进行索引。但是 MySQL 并不强制要求引用的列必须是 UNIQUE 或声明为 NOT NULL。
注释
标准 SQL 使用 C 语法 /* this is a comment */ 来显示注释。 MySQL Server 也支持此语法。标准 SQL 使用 ’’--’’ 作为起始注释序列。MySQL Server 使用 ‘#‘ 作为起始注释字符。