MySQL外键应用

Jun 07, 2016 pm 05:23 PM
clé étrangère mysql o oracle 数据库

MySQL外键应用,所有tables必须是InnoDB型,它们不能是临时表.因为在MySQL中只有InnoDB类型的表才支持外键.

MySQL版本:5.5.28

系统平台:RHEL 5.8 32位

(1) 外键的使用:

外键的作用,主要有两个:
一个是让数据库自己通过外键来保证数据的完整性和一致性
一个就是能够增加ER图的可读性
有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库有时候会由于没有通过外键的检测而使得开发人员删除,插入操作失败.他们觉得这样很麻烦
其实这正式外键在强制你保证数据的完整性和一致性.这是好事儿.
例如:
有一个基础数据表,用来记录商品的所有信息。其他表都保存商品ID。查询时需要连表来查询商品的名称。单据1的商品表中有商品ID字段,单据2的商品表中也有商品ID字段。如果不使用外键的话,当单据1,2都使用了商品ID=3的商品时,,如果删除商品表中ID=3的对应记录后,再查看单据1,2的时候就会查不到商品的名称。
当表很少的时候,有人认为可以在程序实现的时候来通过写脚本来保证数据的完整性和一致性。也就是在删除商品的操作的时候去检测单据1,2中是否已经使用了商品ID为3的商品。但是当你写完脚本之后系统有增加了一个单据3 ,他也保存商品ID找个字段。如果不用外键,你还是会出现查不到商品名称的情况。你总不能每增加一个使用商品ID的字段的单据时就回去修改你检测商品是否被使用的脚本吧,同时,引入外键会使速度和性能下降。

(2) 添加外键的格式:

说明:
on delete/on update,用于定义delete,update操作.以下是update,delete操作的各种约束类型:
CASCADE:
外键表中外键字段值会被更新,或所在的列会被删除.
RESTRICT:
RESTRICT也相当于no action,即不进行任何操作.即,拒绝父表update外键关联列,delete记录.
set null:
被父面的外键关联字段被update ,delete时,子表的外键列被设置为null.
而对于insert,子表的外键列输入的值,只能是父表外键关联列已有的值.否则出错.

外键定义服从下列情况:(前提条件)
1)
所有tables必须是InnoDB型,它们不能是临时表.因为在MySQL中只有InnoDB类型的表才支持外键.
2)
所有要建立外键的字段必须建立索引.
3)
对于非InnoDB表,FOREIGN KEY子句会被忽略掉。
注意:
创建外键时,定义外键名时,不能加引号.
如: constraint 'fk_1' 或 constraint "fk_1"是错误的

(3) 查看外键:

  • SHOW CREATE TABLE tb_name;
  • 可以查看到新建的表的代码以及其存储引擎.也就可以看到外键的设置.
    删除外键:

  • alter table tb_name drop foreign key '外键名';
  • 注意:
    只有在定义外键时,用constraint 外键名 foreign key .... 方便进行外键的删除.
    若不定义,则可以:
    先输入:alter table tb_name drop foreign key -->会提示出错.此时出错信息中,会显示foreign key的系统默认外键名.--->
    用它去删除外键.

    linux

    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Article chaud

    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Meilleurs paramètres graphiques
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Comment réparer l'audio si vous n'entendez personne
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Comment déverrouiller tout dans Myrise
    4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Pourquoi utiliser MySQL? Avantages et avantages Pourquoi utiliser MySQL? Avantages et avantages Apr 12, 2025 am 12:17 AM

    MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

    Comment vérifier la taille de l'espace de table d'Oracle Comment vérifier la taille de l'espace de table d'Oracle Apr 11, 2025 pm 08:15 PM

    Pour interroger la taille de l'espace de table Oracle, suivez les étapes suivantes: Déterminez le nom de l'espace de table en exécutant la requête: sélectionnez Tablespace_name dans dba_tablespaces; Requête la taille de l'espace de table en exécutant la requête: sélectionnez SUM (Bytes) comme total_size, sum (bytes_free) comme disponible_space, sum (bytes) - sum (bytes_free) comme used_space à partir de dba_data_files où tablespace_

    Comment créer une table dans Oracle Comment créer une table dans Oracle Apr 11, 2025 pm 08:00 PM

    La création d'une table Oracle implique les étapes suivantes: Utilisez la syntaxe de la table Create pour spécifier les noms de table, les noms de colonne, les types de données, les contraintes et les valeurs par défaut. Le nom du tableau doit être concis et descriptif et ne doit pas dépasser 30 caractères. Le nom de la colonne doit être descriptif et le type de données spécifie le type de données stocké dans la colonne. La contrainte non nulle garantit que les valeurs nulles ne sont pas autorisées dans la colonne, et la clause par défaut spécifie les valeurs par défaut pour la colonne. Contraintes de clé primaire pour identifier l'enregistrement unique du tableau. La contrainte de clé étrangère spécifie que la colonne du tableau fait référence à la clé primaire dans un autre tableau. Voir la création des élèves de la table de l'échantillon, qui contient des clés primaires, des contraintes uniques et des valeurs par défaut.

    Comment importer une base de données Oracle Comment importer une base de données Oracle Apr 11, 2025 pm 08:06 PM

    Méthode d'importation de données: 1. Utilisez l'utilitaire SqlLoader: Préparez les fichiers de données, créez des fichiers de contrôle et exécutez SqlLoader; 2. Utilisez l'outil IMP / EXP: les données d'exportation, les données d'importation. Astuce: 1. Chargeur SQL * recommandé pour les ensembles de Big Data; 2. La table cible doit exister et la définition de la colonne correspond; 3. Après l'importation, l'intégrité des données doit être vérifiée.

    Comment désinstaller l'installation d'Oracle a échoué Comment désinstaller l'installation d'Oracle a échoué Apr 11, 2025 pm 08:24 PM

    Désinstaller la méthode pour la défaillance de l'installation d'Oracle: Fermez le service Oracle, supprimez les fichiers du programme Oracle et les clés de registre, désinstallez les variables d'environnement Oracle et redémarrez l'ordinateur. Si la désinstallation échoue, vous pouvez désinstaller manuellement à l'aide de l'outil Oracle Universal Disinstal.

    Comment afficher le nom d'instance d'Oracle Comment afficher le nom d'instance d'Oracle Apr 11, 2025 pm 08:18 PM

    Il existe trois façons d'afficher les noms d'instance dans Oracle: utilisez le "SQLPlus" et "SELECT INSTRESS_NAME FROM V $ INSTERNE;" Commandes sur la ligne de commande. Utilisez "Show instance_name;" Commande dans SQL * Plus. Vérifiez les variables d'environnement (Oracle_sid sur Linux) via le gestionnaire de tâches du système d'exploitation, Oracle Enterprise Manager ou via le système d'exploitation.

    Comment crypter Oracle View Comment crypter Oracle View Apr 11, 2025 pm 08:30 PM

    Oracle View Encryption vous permet de crypter les données dans la vue, améliorant ainsi la sécurité des informations sensibles. Les étapes incluent: 1) la création de la clé de cryptage maître (MEK); 2) Création d'une vue cryptée, spécifiant la vue et MEK à crypter; 3) Autoriser les utilisateurs à accéder à la vue cryptée. Comment fonctionnent les vues cryptées: lorsqu'un utilisateur interroge pour une vue cryptée, Oracle utilise MEK pour décrypter les données, garantissant que seuls les utilisateurs autorisés peuvent accéder aux données lisibles.

    MySQL: une introduction à la base de données la plus populaire au monde MySQL: une introduction à la base de données la plus populaire au monde Apr 12, 2025 am 12:18 AM

    MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

    See all articles