MYSQL - ALTER, DROP, RENAME, MODIFY

Anonim

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
email 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
email 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

  1. Supprimer une base de données du serveur MySQL
  2. 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
email 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

  1. Changer le nom de la colonne
  2. Modifier le type de données de colonne
  3. 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
email varchar(255) YES NULL

Supposons que nous voulions

  1. Changer le nom du champ de "full_names" à "fullname
  2. Changez-le en type de données char avec une largeur de 250
  3. 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
email varchar(255) YES NULL

MODIFIER LE MOT CLÉ

Le mot-clé MODIFY vous permet de

  1. Modifier le type de données de colonne
  2. 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
email 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
email varchar(255) YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

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