Maison  >  Article  >  base de données  >  Tutoriel sur la spécification des valeurs par défaut lorsque MySQL crée une table de données

Tutoriel sur la spécification des valeurs par défaut lorsque MySQL crée une table de données

巴扎黑
巴扎黑original
2017-05-15 14:19:336128parcourir

Spécifier la valeur par défaut

Si aucune valeur n'est donnée lors de l'insertion d'une ligne, MySQL vous permet de spécifier une valeur par défaut à utiliser à ce moment-là. La valeur par défaut est spécifiée avec le mot clé DEFAULT dans la définition de colonne de l'instruction CREATE TABLE.

Regardez l'exemple suivant :

Entrée :

create table orderitems
(
order_num              int                 NOT NULL,
order_item              int                NOT NULL,
prod_id              char(10)            NOT NULL,
quantity                  int                 NOT NULL   DEFAULT1,
item_price         decimal(8,2)      NOT NULL,
PRIMARY KEY ( order_num,order_item)
)ENGINE = InnoDB;

Sortie : Cette instruction crée la table orderitems contenant les articles qui composent la commande (les commandes elles-mêmes sont stocké dans le tableau des commandes). La colonne quantité contient la quantité de chaque article de la commande. Dans cet exemple, l'ajout du texte DEFAULT 1 à la description de la colonne indique à MySQL d'utiliser la quantité 1 si aucune quantité n'est indiquée.

Fonction non autorisée Contrairement à la plupart des SGBD, MySQL ne permet pas l'utilisation de fonctions comme valeurs par défaut, il ne prend en charge que les constantes.

Utiliser les valeurs par défaut au lieu des valeurs NULL De nombreux développeurs de bases de données utilisent des valeurs par défaut au lieu des colonnes NULL, notamment pour les colonnes utilisées dans les calculs ou le regroupement de données.

Connaissances approfondies :

Qu'est-ce qu'un type de moteur ?

Vous avez peut-être remarqué que les instructions CREATE TABLE utilisées jusqu'à présent se terminent toutes par une instruction ENGINE=InnoDB.

Comme les autres SGBD, MySQL dispose d'un moteur interne qui gère et traite spécifiquement les données. Lorsque vous utilisez l'instruction CREATE TABLE, le moteur crée spécifiquement la table, et lorsque vous utilisez l'instruction SELECT ou effectuez un autre traitement de base de données, le moteur gère votre demande en interne. La plupart du temps, ce moteur est caché au sein du SGBD et vous n’avez pas besoin d’y prêter trop d’attention.

Mais MySQL est différent des autres SGBD, il possède plusieurs moteurs. Il regroupe plusieurs moteurs, tous cachés dans le serveur MySQL, et peuvent tous exécuter des commandes telles que CREATE TABLE et SELECT.

Pourquoi sortir plusieurs moteurs ? Parce qu’ils ont des fonctions et des caractéristiques différentes, choisir le bon moteur pour différentes tâches peut offrir une bonne fonctionnalité et flexibilité.

Bien sûr, vous pouvez ignorer complètement ces moteurs de bases de données. Si l'instruction ENGINE= est omise, le moteur par défaut est utilisé (très probablement MyISAM ), qui est utilisé par défaut pour la plupart des instructions SQL. Mais toutes les instructions ne l'utilisent pas par défaut, c'est pourquoi l'instruction ENGINE= est importante (et pourquoi deux moteurs sont utilisés dans les exemples de tables de ce livre).

Voici quelques moteurs que vous devez connaître :

1.InnoDB est un moteur de traitement de transactions fiable, il ne prend pas en charge la recherche en texte intégral

2. MEMORY en fonction Équivalent à MyISAM, mais comme les données sont stockées en mémoire (pas sur disque), c'est très rapide (particulièrement adapté aux tables temporaires

3. MyISAM est un moteur extrêmement performant qui prend en charge) ; recherche en texte intégral mais le traitement des transactions n'est pas pris en charge.

Les types de moteurs peuvent être mélangés. À l'exception de la table productnotes, qui utilise MyISAM, les exemples de tables de ce livre utilisent tous InnoDB. La raison en est que l'auteur souhaite prendre en charge le traitement des transactions (par conséquent, utilisez InnoDB ), mais doit également prendre en charge la recherche en texte intégral dans les notes de produit (par conséquent, utilisez MyISAM ).

Les clés étrangères ne peuvent pas croiser les moteurs. Il y a un gros défaut dans le mélange des types de moteurs. Les clés étrangères (utilisées pour renforcer l'intégrité référentielle) ne peuvent pas s'étendre sur plusieurs moteurs, c'est-à-dire qu'une table utilisant un moteur ne peut pas référencer une clé étrangère dont une table utilise un moteur différent.

Alors, quel moteur utiliser ? Cela dépend des fonctionnalités dont vous avez besoin. MyISAM est probablement le moteur le plus populaire en raison de ses performances et de ses fonctionnalités. Mais si vous n'avez pas besoin d'un traitement transactionnel fiable, vous pouvez utiliser d'autres moteurs.

Ce 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!

Déclaration:
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