QU'EST-CE QUE LA COMMANDE ALTER?
Comme le dit le proverbe, le changement est la seule constante
Avec le temps, les exigences commerciales évoluent également. À mesure que les exigences de l'entreprise changent, les conceptions de bases de données doivent également changer.
MySQL fournit la fonction ALTER qui nous aide à intégrer les modifications apportées à la conception de 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 pendant le 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. Nos utilisateurs de base de données l'utilisent et se rendent compte que certaines des 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 veulent simplement incorporer 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 disons chaîne en numérique, changer le nom du champ en un nouveau nom ou même ajouter une nouvelle colonne dans une table.
Modifier la syntaxe
La syntaxe de base utilisée pour ajouter une colonne à une table déjà existante est indiquée ci-dessous
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
ICI
- "ALTER TABLE` nom_table` " est la commande qui indique au serveur MySQL de modifier la table nommée` nom_table`.
- "ADD COLUMN` column_name` `data_type`" est la commande qui indique au serveur MySQL d'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, on nous a demandé d'ajouter un champ pour le numéro de carte de crédit dans notre tableau 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 modifications. 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);
L'exécution du script ci-dessus dans MySQL sur 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 dans les résultats renvoyés, le numéro de carte de crédit a été ajouté à la table 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 du serveur MySQL
- Supprimez un objet (comme Table, Colonne) d'une base de données.
Regardons 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 prendra un certain temps et que nous souhaitons SUPPRIMER la colonne de carte 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 members
Regardons maintenant les colonnes de la table des membres pour confirmer si notre colonne a été supprimée.
SHOW COLUMNS FROM `members`;
L'exécution du script ci-dessus dans MySQL 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.
DROP TABLE
La syntaxe pour DROP 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 `categories_archive` de notre base de données.
QU'EST-CE QUE LA COMMANDE RENAME?
La commande renommer est utilisée pour changer le nom d'un objet de base de données existant (comme Table, Colonne) en un nouveau nom .
Renommer une table ne lui fait perdre aucune donnée qui y est contenue.
Syntaxe:-
La commande renommer a la syntaxe de base suivante.
RENAME TABLE `current_table_name` TO `new_table_name`;
Supposons que nous voulions 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 à 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 colonne
- Modifier les contraintes de colonne
Regardons un exemple. Le champ des noms complets dans la table des membres est du type de données varchar et a une largeur de 150.
SHOW COLUMNS FROM `members`;
L'exécution du script ci-dessus dans MySQL 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
- Changer le nom du champ de "full_names" à "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;
L'exécution du script ci-dessus dans MySQL workbench contre myflixdb, puis l'exécution du script show columns 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û changer le nom du champ ainsi que d'autres détails. Omettre le nom de champ de l'instruction CHANGE générera une erreur. Supposons que nous soyons uniquement intéressés par la modification du type de données et des contraintes sur le champ sans affecter le nom du champ, nous pouvons utiliser le mot clé MODIFY pour ce faire.
Le script ci-dessous modifie la largeur du champ "fullname" de 250 à 50.
ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;
L'exécution du script ci-dessus dans MySQL workbench contre myflixdb, puis l'exécution du script show columns 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 MOT-CLÉ
Supposons que nous souhaitons 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 le tableau des membres.
ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;
L'exécution du script ci-dessus dans MySQL workbench contre myflixdb, puis l'exécution du script show columns 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 nous voulons 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 du serveur MySQL ou des objets dans une base de données.
- La commande renommer est utilisée pour changer le nom d'une table en un nouveau nom de table.
- Le mot-clé Change vous permet de modifier un nom de colonne, un type de données et des 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