Recherche de site Web

Différences MySQL par rapport au SQL standard


Comprenons les différences entre MySQL et Standard SQL. MySQL effectue de nombreuses opère différemment dans certains cas :

Privilèges

Il existe de nombreuses différences entre MySQL et SQL standard en ce qui concerne les privilèges accordés à l'utilisateur. Dans MySQL, les privilèges d'une table ne sont pas automatiquement révoqués lorsqu'une table est supprimée. Une instruction REVOKE doit être explicitement émise pour révoquer les privilèges d'une table.

Contraintes de clé étrangère

L'implémentation MySQL des contraintes de clé étrangère est différente du standard SQL. S'il existe de nombreuses lignes dans la table parent avec la même valeur de clé référencée, le moteur InnoDB effectue une vérification de clé étrangère comme si les autres lignes parent avec la même valeur de clé n'existaient pas.

Par exemple, si une contrainte de type RESTRICT est définie et qu'il existe une ligne enfant avec de nombreuses lignes parent, InnoDB n'autorisera pas la suppression des lignes parent.

Dans une instruction SQL qui utilise l'insertion, la suppression ou la mise à jour sur plusieurs lignes, les contraintes de clé étrangère (telles que les contraintes uniques) sont vérifiées ligne après ligne. Lorsque des vérifications de clé étrangère sont effectuées, InnoDB définit les verrous partagés au niveau des lignes sur les enregistrements enfants ou parents qui doivent être vérifiés.

MySQL exige que les colonnes référencées soient indexées pour des raisons de performances. Mais MySQL n'exige pas que les colonnes référencées soient UNIQUES ou soient déclarées NOT NULL.

commentaires

Le SQL standard utilise la syntaxe C /* ceci est un commentaire */ pour afficher les commentaires. MySQL Server prend également en charge cette syntaxe. Le SQL standard utilise ''--'' comme séquence de début-commentaire. MySQL Server utilise '#' comme caractère de commentaire de début.

Articles connexes: