MYSQL - ALTER, DROP, RENAME, MODIFY

Anonim

COS'È IL COMANDO ALTER?

Come dice il proverbio Il cambiamento è l'unica costante

Con il tempo cambiano anche le esigenze aziendali. Man mano che i requisiti aziendali cambiano, anche i progetti di database devono cambiare.

MySQL fornisce la funzione ALTER che ci aiuta a incorporare le modifiche al design del database già esistente .

Il comando alter viene utilizzato per modificare un database, una tabella, una vista o altri oggetti di database esistenti che potrebbero dover essere modificati durante il ciclo di vita di un database.

Supponiamo di aver completato la progettazione del nostro database e che sia stato implementato. Gli utenti del nostro database lo stanno utilizzando e poi si rendono conto che alcune delle informazioni vitali sono state tralasciate nella fase di progettazione. Non vogliono perdere i dati esistenti ma vogliono solo incorporare le nuove informazioni. Il comando alter è utile in tali situazioni. Possiamo usare il comando alter per cambiare il tipo di dati di un campo da dire stringa a numerico, cambiare il nome del campo con un nuovo nome o anche aggiungere una nuova colonna in una tabella.

Alter- sintassi

La sintassi di base utilizzata per aggiungere una colonna a una tabella già esistente è mostrata di seguito

ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;

QUI

  • "ALTER TABLE` table_name` " è il comando che dice al server MySQL di modificare la tabella denominata` table_name`.
  • "ADD COLUMN` column_name` `data_type`" è il comando che dice al server MySQL di aggiungere una nuova colonna denominata `column_name` con il tipo di dati` data_type '.

Supponiamo che Myflix abbia introdotto la fatturazione e i pagamenti online. A tal fine, ci è stato chiesto di aggiungere un campo per il numero della carta di credito nella nostra tabella dei membri. Possiamo usare il comando ALTER per farlo. Diamo prima un'occhiata alla struttura della tabella dei membri prima di apportare eventuali modifiche. Lo script mostrato di seguito ci aiuta a farlo.

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

Possiamo usare lo script mostrato di seguito per aggiungere un nuovo campo alla tabella dei membri.

ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);

L'esecuzione dello script precedente in MySQL su Myflixdb aggiunge una nuova colonna denominata numero di carta di credito alla tabella dei membri con VARCHAR come tipo di dati. L'esecuzione dello script mostra colonne ci dà i seguenti risultati.

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

Come puoi vedere dai risultati restituiti, il numero della carta di credito è stato aggiunto alla tabella dei membri. I dati contenuti nei dati dei membri non sono influenzati dall'aggiunta della nuova colonna.

COS'È IL COMANDO DROP?

Il comando DROP viene utilizzato per

  1. Elimina un database dal server MySQL
  2. Elimina un oggetto (come tabella, colonna) da un database.

Vediamo ora esempi pratici che fanno uso del comando DROP.

Nel nostro esempio precedente sul comando Alter, abbiamo aggiunto una colonna denominata numero di carta di credito alla tabella dei membri.

Supponiamo che la funzionalità di fatturazione online richieda un po 'di tempo e desideriamo eliminare la colonna della carta di credito

Possiamo usare il seguente script

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

L'esecuzione dello script precedente elimina la colonna credit_card_number dalla tabella dei membri

Esaminiamo ora le colonne nella tabella dei membri per confermare se la nostra colonna è stata eliminata.

SHOW COLUMNS FROM `members`;

L'esecuzione dello script precedente nel workbench MySQL su myflixdb ci dà i seguenti risultati.

 
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

Notare che il numero della carta di credito è stato eliminato dall'elenco dei campi.

TABELLA DI CADUTA

La sintassi per ELIMINARE una tabella dal database è la seguente:

DROP TABLE `sample_table`;

Vediamo un esempio

DROP TABLE `categories_archive`;

L'esecuzione dello script precedente elimina la tabella denominata "categories_archive" dal nostro database.

CHE COS'È IL COMANDO RINOMINARE?

Il comando rename viene utilizzato per modificare il nome di un oggetto database esistente (come tabella, colonna) con un nuovo nome .

Rinominare una tabella non fa perdere alcun dato contenuto al suo interno.

Sintassi:-

Il comando rename ha la seguente sintassi di base.

RENAME TABLE `current_table_name` TO `new_table_name`;

Supponiamo di voler rinominare la tabella movierentals in movie_rentals, possiamo usare lo script mostrato di seguito per ottenere ciò.

RENAME TABLE `movierentals` TO `movie_rentals`;

L'esecuzione dello script precedente rinomina la tabella `movierentals` in` movie_rentals`.

Ora rinomineremo la tabella movie_rentals con il suo nome originale.

RENAME TABLE `movie_rentals` TO `movierentals`;

CAMBIA PAROLA CHIAVE

Modificare le parole chiave ti consente di farlo

  1. Cambia nome della colonna
  2. Cambia il tipo di dati della colonna
  3. Cambia vincoli di colonna

Diamo un'occhiata a un esempio. Il campo dei nomi completi nella tabella dei membri è di tipo di dati varchar e ha una larghezza di 150.

SHOW COLUMNS FROM `members`;

L'esecuzione dello script precedente nel workbench MySQL su myflixdb ci dà i seguenti risultati.

 
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

Supponiamo di volerlo

  1. Cambia il nome del campo da "full_names" a "fullname
  2. Modificalo in un tipo di dati char con una larghezza di 250
  3. Aggiungi un vincolo NOT NULL

Possiamo farlo usando il comando change come segue:

ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;

L'esecuzione dello script sopra in MySQL workbench su myflixdb e quindi l'esecuzione dello script delle colonne dello spettacolo sopra riportato fornisce i seguenti risultati.

 
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

MODIFICA PAROLA CHIAVE

La parola chiave MODIFICA ti consente di farlo

  1. Modifica il tipo di dati della colonna
  2. Modifica vincoli di colonna

Nell'esempio CAMBIA sopra, abbiamo dovuto modificare il nome del campo e altri dettagli. L'omissione del nome del campo dall'istruzione CHANGE genererà un errore. Supponiamo di essere interessati solo a modificare il tipo di dati e i vincoli sul campo senza influire sul nome del campo, possiamo utilizzare la parola chiave MODIFY per farlo.

Lo script seguente cambia la larghezza del campo "fullname" da 250 a 50.

ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;

L'esecuzione dello script precedente nel workbench MySQL su myflixdb e quindi l'esecuzione dello script delle colonne dello spettacolo fornito sopra fornisce i seguenti risultati mostrati di seguito.

 
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

DOPO LA PAROLA CHIAVE

Supponiamo di voler aggiungere una nuova colonna in una posizione specifica nella tabella.

Possiamo usare il comando alter insieme alla parola chiave AFTER.

Lo script seguente aggiunge "date_of_registration" subito dopo la data di nascita nella tabella dei membri.

ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;

L'esecuzione dello script precedente nel workbench MySQL su myflixdb e quindi l'esecuzione dello script delle colonne dello spettacolo fornito sopra fornisce i seguenti risultati mostrati di seguito.

 
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

Sommario

  • Il comando alter viene utilizzato quando si desidera modificare un database o qualsiasi oggetto contenuto nel database.
  • Il comando drop viene utilizzato per eliminare i database dal server MySQL o gli oggetti all'interno di un database.
  • Il comando rename viene utilizzato per modificare il nome di una tabella in un nuovo nome di tabella.
  • La parola chiave Change consente di modificare il nome di una colonna, il tipo di dati e i vincoli
  • La parola chiave Modifica consente di modificare un tipo di dati di colonna e vincoli
  • La parola chiave After viene utilizzata per specificare la posizione di una colonna in una tabella