Dans MySQL, vous pouvez utiliser l'instruction show pour interroger les contraintes de clé étrangère. L'instruction show peut afficher les informations de base de données, de table et de colonne dans MySQL. La syntaxe est "SHOW CREATE TABLE nom de la table" ; dans le tableau, les contraintes de clé étrangère, les contraintes non nulles et d'autres informations sur les contraintes.
L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.
La commande mysqlshow est utilisée pour afficher les informations sur la base de données, les tables et les colonnes dans le serveur MySQL.
Dans MySQL, vous pouvez utiliser l'instruction SHOW CREATE TABLE pour afficher les contraintes dans la table, puis interroger les contraintes de clé étrangère.
Affichez le format de syntaxe de contrainte dans le tableau de données comme suit :
SHOW CREATE TABLE <数据表名>;
L'exemple est le suivant :
mysql> CREATE TABLE tb_emp8 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(22) UNIQUE, -> deptId INT(11) NOT NULL, -> salary FLOAT DEFAULT 0, -> CHECK(salary>0), -> FOREIGN KEY(deptId) REFERENCES tb_dept1(id) -> ); Query OK, 0 rows affected (0.37 sec) mysql> SHOW CREATE TABLE tb_emp8 \G *************************** 1. row *************************** Table: tb_emp8 Create Table: CREATE TABLE `tb_emp8` ( `id` int(11) NOT NULL, `name` varchar(22) DEFAULT NULL, `deptId` int(11) NOT NULL, `salary` float DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`), KEY `deptId` (`deptId`), CONSTRAINT `tb_emp8_ibfk_1` FOREIGN KEY (`deptId`) REFERENCES `tb_dept1` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 1 row in set (0.19 sec)
Connaissances approfondies :
Définition des contraintes de clé étrangère
La contrainte de clé étrangère MySQL (FOREIGN KEY) est une champ spécial de la table, souvent utilisé avec des contraintes de clé primaire. Pour deux tables avec une relation associée, la table où se trouve la clé primaire du champ associé est la table principale (table parent), et la table où se trouve la clé étrangère est la table secondaire (table enfant)
Supposons que nous ont 2 tables, à savoir la table A et la table B sont liées via un champ commun "id". Nous appelons cette relation R. Si "id" est la clé primaire de la table A, alors la table A est la table primaire de cette relation R. De manière correspondante, la table B est la table esclave dans cette relation, et « l'identifiant » dans la table B est ce que la table B utilise pour référencer les données de la table A, appelée clé étrangère. Par conséquent, la clé étrangère est le champ public utilisé dans la table esclave pour faire référence aux données de la table maître. Le rôle des contraintes de clé étrangère peut nous aider à déterminer les champs de clé étrangère dans la table esclave et la clé primaire. champs de la table maître. La relation de référence entre eux peut également garantir que les données de la table principale référencées par les données de la table esclave ne seront pas supprimées, garantissant ainsi la cohérence des données dans les deux tables
Lorsqu'un enregistrement est supprimé de la table principale, l'enregistrement correspondant de la table Records doit également être modifié en conséquence. Une table peut avoir une ou plusieurs clés étrangères, et la clé étrangère peut être une valeur nulle. Si ce n'est pas une valeur nulle, la valeur de chaque clé étrangère doit être égale à une certaine valeur de la clé primaire dans la table principale. Cependant, il existe des contraintes liées aux clés étrangères. Cette méthode est coûteuse, nécessite des ressources système et peut ne pas convenir aux opérations SQL simultanées volumineuses. Par conséquent, MySQL vous permet de compléter la logique de vérification de la cohérence des données au niveau de l'application sans utiliser les contraintes de clé étrangère fournies avec le système. C'est aussi pourquoi nous pouvons effectuer des requêtes associées même si nous ne définissons pas de clés étrangèresApprentissage recommandé :
Tutoriel vidéo MySQLCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!