让我们了解MySQL和标准SQL之间的区别。在某些情况下,MySQL执行不同的许多操作-
MySQL和标准SQL在赋予用户特权方面有许多差异。在MySQL中,删除表后,不会自动撤销表的特权。需要显式发出REVOKE语句以撤消表的特权。
MySQL的外键约束实现与SQL标准不同。如果父表中有很多行具有相同的引用键值,则InnoDB引擎会进行外键检查,就像其他具有相同键值的父行不存在一样。
例如,如果定义了RESTRICT类型约束,并且有一个包含许多父行的子行,则InnoDB不允许删除父行。
在对多行使用插入,删除或更新的SQL语句中,将逐行检查外键约束(例如,唯一约束)。当执行外键检查时,InnoDB在需要检查的子记录或父记录上设置共享行级锁。
MySQL出于性能原因,必须对引用的列进行索引。但是MySQL并不强制要求引用的列必须是UNIQUE或声明为NOT NULL。
标准SQL使用C语法/ *这是一个注释* /以显示注释。MySQL Server也支持此语法。标准SQL使用“-”作为开始注释序列。MySQL Server使用“#”作为开始注释字符。