MYSQL – ALTER, DROP, RENOMMER, MODIFIER
Qu'est-ce que la commande ALTER ?
Comme on dit Le changement est la seule constante
Avec le temps, les exigences commerciales changent également. À mesure que les exigences de l’entreprise évoluent, la conception des bases de données doit également évoluer.
MySQL Fournit le ALTER fonction qui nous aide incorporer les modifications apportées à la conception de la base de données déjà existante.
La commande alter est utilisée pour modifier une base de données, une table, une vue ou d'autres objets de base de données existants qui pourraient devoir être modifiés au cours du cycle de vie d'une base de données.
Supposons que nous ayons terminé la conception de notre base de données et qu'elle ait été implémentée. Les utilisateurs de notre base de données l'utilisent et réalisent ensuite que certaines informations vitales ont été laissées de côté lors de la phase de conception. Ils ne veulent pas perdre les données existantes mais souhaitent simplement intégrer les nouvelles informations. La commande alter est utile dans de telles situations. Nous pouvons utiliser la commande alter pour changer le type de données d'un champ de, par exemple, chaîne à numérique, changer le nom du champ en un nouveau nom ou même ajouter une nouvelle colonne dans une table.
Modifier – syntaxe
La syntaxe de base utilisée pour ajouter une colonne à un tableau déjà existant est présentée ci-dessous
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
ICI
- "ALTER TABLE `nom_table`" est la commande qui dit MySQL serveur pour modifier la table nommée `table_name`.
- "AJOUTER UNE COLONNE `nom_colonne` `type_données`" est la commande qui dit MySQL serveur pour ajouter une nouvelle colonne nommée `column_name` avec le type de données `data_type'.
Supposons que Myflix ait introduit la facturation et les paiements en ligne. À cette fin, il nous a été demandé d'ajouter un champ pour le numéro de carte de crédit dans notre table des membres. Nous pouvons utiliser la commande ALTER pour ce faire. Examinons d'abord la structure de la table des membres avant d'apporter des amendements. Le script ci-dessous nous aide à le faire.
SHOW COLUMNS FROM `members`;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(350) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
Nous pouvons utiliser le script ci-dessous pour ajouter un nouveau champ à la table des membres.
ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);
Exécuter le script ci-dessus dans MySQL contre Myflixdb ajoute une nouvelle colonne nommée numéro de carte de crédit à la table des membres avec VARCHAR comme type de données. L'exécution du script show columns nous donne les résultats suivants.
SHOW COLUMNS FROM `members`;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(350) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL | |||
credit_card_number | varchar(25) | YES |
Comme vous pouvez le voir sur les résultats renvoyés, le numéro de carte de crédit a été ajouté au tableau des membres. Les données contenues dans les données des membres ne sont pas affectées par l'ajout de la nouvelle colonne.
QU'EST-CE QUE LA COMMANDE DROP ?
La commande DROP est utilisée pour
- Supprimer une base de données de MySQL serveur
- Supprimez un objet (comme Table, Colonne) d'une base de données.
Examinons maintenant des exemples pratiques utilisant la commande DROP.
Dans notre exemple précédent sur la commande Alter, nous avons ajouté une colonne nommée numéro de carte de crédit à la table des membres.
Supposons que la fonctionnalité de facturation en ligne prenne un certain temps et que nous souhaitions SUPPRIMER la colonne des cartes de crédit.
Nous pouvons utiliser le script suivant
ALTER TABLE `members` DROP COLUMN `credit_card_number`;
L'exécution du script ci-dessus supprime la colonne credit_card_number de la table des membres.
Examinons maintenant les colonnes de la table des membres pour confirmer si notre colonne a été supprimée.
SHOW COLUMNS FROM `members`;
Exécuter le script ci-dessus dans MySQL Le workbench contre myflixdb nous donne les résultats suivants.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(350) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
Notez que le numéro de carte de crédit a été supprimé de la liste des champs.
TABLE DROP
La syntaxe pour SUPPRIMER une table de la base de données est la suivante :
DROP TABLE `sample_table`;
Regardons un exemple
DROP TABLE `categories_archive`;
L'exécution du script ci-dessus supprime la table nommée `categorys_archive` de notre base de données.
QU'EST-CE QUE LA COMMANDE RENOMMER ?
La commande rename est utilisée pour changer le nom d'un objet de base de données existant (comme une table, une colonne) par un nouveau nom.
Renommer une table ne fait pas perdre les données qu'elle contient.
Syntaxe:-
La commande rename a la syntaxe de base suivante.
RENAME TABLE `current_table_name` TO `new_table_name`;
Supposons que nous souhaitions renommer la table movierentals en movie_rentals, nous pouvons utiliser le script ci-dessous pour y parvenir.
RENAME TABLE `movierentals` TO `movie_rentals`;
L'exécution du script ci-dessus renomme la table « movierentals » en « movie_rentals ».
Nous allons maintenant renommer la table movie_rentals avec son nom d'origine.
RENAME TABLE `movie_rentals` TO `movierentals`;
CHANGER LE MOT CLÉ
Changer les mots clés vous permet de
- Changer le nom de la colonne
- Modifier le type de données de la colonne
- Modifier les contraintes de colonne
Regardons un exemple. Le champ des noms complets dans la table des membres est de type de données varchar et a une largeur de 150.
SHOW COLUMNS FROM `members`;
Exécuter le script ci-dessus dans MySQL Le workbench contre myflixdb nous donne les résultats suivants.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(150) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
Supposons que nous voulions
- Remplacez le nom du champ « full_names » par « fullname »
- Changez-le en type de données char avec une largeur de 250
- Ajouter une contrainte NOT NULL
Nous pouvons accomplir cela en utilisant la commande change comme suit :
ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;
Exécuter le script ci-dessus dans MySQL workbench contre myflixdb puis l'exécution du script d'affichage des colonnes donné ci-dessus donne les résultats suivants.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
fullnames | char(250) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
MODIFIER LE MOT-CLÉ
Le mot-clé MODIFY vous permet de
- Modifier le type de données de colonne
- Modifier les contraintes de colonne
Dans l'exemple CHANGE ci-dessus, nous avons dû modifier le nom du champ ainsi que d'autres détails. L'omission du nom du champ dans l'instruction CHANGE générera une erreur. Supposons que nous souhaitions uniquement modifier le type de données et les contraintes du champ sans affecter le nom du champ, nous pouvons utiliser le mot-clé MODIFY pour y parvenir.
Le script ci-dessous modifie la largeur du champ « nom complet » de 250 à 50.
ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;
Exécuter le script ci-dessus dans MySQL workbench contre myflixdb puis l'exécution du script d'affichage des colonnes donné ci-dessus donne les résultats suivants indiqués ci-dessous.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
fullnames | char(50) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
APRÈS LE MOT-CLÉ
Supposons que nous souhaitions ajouter une nouvelle colonne à une position spécifique du tableau.
Nous pouvons utiliser la commande alter avec le mot-clé AFTER.
Le script ci-dessous ajoute « date_of_registration » juste après la date de naissance dans la table des membres.
ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;
Exécuter le script ci-dessus dans MySQL workbench contre myflixdb puis l'exécution du script d'affichage des colonnes donné ci-dessus donne les résultats suivants indiqués ci-dessous.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
fullnames | char(50) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
date_of_registration | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
Résumé
- La commande alter est utilisée lorsque l'on souhaite modifier une base de données ou tout objet contenu dans la base de données.
- La commande drop est utilisée pour supprimer des bases de données de MySQL serveur ou des objets dans une base de données.
- La commande rename est utilisée pour changer le nom d'une table en un nouveau nom de table.
- Le mot-clé Change vous permet de modifier le nom d'une colonne, le type de données et les contraintes.
- Le mot clé Modifier vous permet de modifier le type de données et les contraintes d'une colonne.
- Le mot-clé After est utilisé pour spécifier la position d'une colonne dans un tableau