MySQL est un système de gestion de bases de données relationnelles largement utilisé. Dans MySQL, nous pouvons définir des valeurs par défaut pour les colonnes d'un tableau afin de garantir que lorsqu'une nouvelle ligne est insérée, si l'utilisateur ne spécifie pas de valeur pour la colonne, la colonne est automatiquement remplie avec la valeur par défaut. Dans cet article, nous verrons comment définir les valeurs par défaut dans MySQL.
La valeur par défaut est la valeur qui est automatiquement renseignée dans cette colonne lorsqu'une nouvelle ligne est insérée dans le tableau. Lorsque l'utilisateur ne spécifie pas de valeur pour la colonne, le système remplit automatiquement la colonne avec la valeur par défaut. Si l'utilisateur fournit une valeur, cette valeur sera utilisée comme valeur pour la colonne.
Dans MySQL, nous pouvons utiliser le mot-clé DEFAULT pour définir une valeur par défaut. Ce mot-clé demande au système d'utiliser les valeurs par défaut lors de l'insertion de nouvelles lignes. Voici un exemple :
Tout d'abord, créons un tableau simple avec trois colonnes : id, username et email :
CREATE TABLE users(
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR (50) NOT NULL,
PRIMARY KEY (id)
);
Ensuite, nous ajoutons une nouvelle colonne create_at avec une valeur par défaut à la table, cette colonne contiendra la date et l'heure de création :
ALTER TABLE utilisateurs ADD create_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
Dans l'instruction ci-dessus, nous avons utilisé le mot-clé ADD pour ajouter une nouvelle colonne au tableau. Nous utilisons la clause DEFAULT CURRENT_TIMESTAMP pour définir la valeur par défaut de cette colonne sur l'horodatage actuel, c'est-à-dire que lors de l'insertion d'une nouvelle ligne, le système définira automatiquement la colonne créée_at sur l'heure actuelle.
Nous pouvons également utiliser des constantes pour définir des valeurs par défaut. Par exemple, si nous souhaitons définir une colonne booléenne, nous pouvons utiliser l'instruction suivante :
ALTER TABLE users ADD is_active BOOLEAN DEFAULT TRUE;
Dans l'instruction ci-dessus, nous utilisons la clause DEFAULT pour définir la valeur par défaut d'une colonne booléenne. colonne sur VRAI.
Si nous voulons changer la valeur par défaut d'une colonne, nous pouvons utiliser l'instruction ALTER TABLE. Par exemple, modifions la valeur par défaut de la colonne create_at au 1er janvier 2020 :
Utilisateurs ALTER TABLE MODIFYcreated_at TIMESTAMP DEFAULT '2020-01-01 00:00:00';
Dans l'instruction ci-dessus, nous utilisons le mot-clé MODIFY pour modifier le type de données et la valeur par défaut de la colonne créée_at. Nous avons spécifié une date et une heure par défaut dans la clause DEFAULT, qui seront automatiquement utilisées lors de l'insertion de nouvelles lignes.
Si nous voulons supprimer la valeur par défaut d'une colonne, nous pouvons utiliser l'instruction ALTER TABLE. Par exemple, supprimons la valeur par défaut de la colonne créée_at :
Utilisateurs ALTER TABLE ALTER COLUMN créé_at DROP DEFAULT ;
Dans l'instruction ci-dessus, nous utilisons la commande ALTER COLUMN pour supprimer la valeur par défaut de la colonne créée_at.
Pour afficher la valeur par défaut d'une colonne, vous pouvez utiliser l'instruction DESCRIBE ou SHOW CREATE TABLE. Par exemple, voici les informations détaillées de la table des utilisateurs utilisant l'instruction DESCRIBE :
DESCRIBE users
Le résultat est le suivant :
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
id | int(11) | NO | PRI | NULL | auto_increment |
username | varchar(50) | NON | NULL | ||
varchar( 50) | NON | NULL | |||
created_at | timestamp | OUI | NULL | ||
is_active | tinyint(1) | OUI | 1 |
Dans le tableau ci-dessus, nous pouvons voir que la valeur par défaut de la colonne create_at est NULL, ce qui indique que la colonne n'a pas de valeur par défaut. Nous pouvons également afficher l'instruction de création complète de la table des utilisateurs :
SHOW CREATE TABLE users;
Le résultat est le suivant :
CREATE TABLE users
(users
(
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(50) NOT NULL,
email
varchar(50) NOT NULL,
created_at
timestamp NULL DEFAULT NULL,
is_active
tinyint(1) DEFAULT '1',
PRIMARY KEY (id
id
int(11) NON NULL AUTO_INCREMENT,
nom d'utilisateur
varchar(50) NON NULL,
email
varchar(50) NON NULL, created_at
horodatage NULL PAR DÉFAUT NULL,
is_active
tinyint(1) PAR DÉFAUT '1',id
)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!