MYSQL - ALTER, DROP, RENAME, MODIFY

Anonim

CE ESTE COMANDA ALTER?

După cum se spune, schimbarea este singura constantă

Cu timpul, cerințele de afaceri se schimbă, de asemenea. Pe măsură ce se schimbă cerințele afacerii, trebuie să se schimbe și proiectele bazelor de date.

MySQL oferă funcția ALTER care ne ajută să încorporăm modificările la proiectarea bazei de date deja existente .

Comanda alter este utilizată pentru a modifica o bază de date, o tabelă, o vizualizare sau alte obiecte de baze de date existente care ar putea fi necesare să se schimbe în timpul ciclului de viață al unei baze de date.

Să presupunem că am finalizat proiectarea bazei de date și că a fost implementată. Utilizatorii noștri de baze de date îl folosesc și apoi își dau seama că unele informații vitale au fost lăsate în afara fazei de proiectare. Nu vor să piardă datele existente, ci doar să încorporeze noile informații. Comanda alter este utilă în astfel de situații. Putem utiliza comanda alter pentru a schimba tipul de date al unui câmp de la șir la numeric, pentru a schimba numele câmpului cu un nume nou sau chiar pentru a adăuga o nouă coloană într-un tabel.

Alter- sintaxă

Sintaxa de bază utilizată pentru a adăuga o coloană la un tabel deja existent este prezentată mai jos

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

AICI

  • "ALTER TABLE` table_name` " este comanda care îi spune serverului MySQL să modifice tabelul numit` table_name`.
  • „ADAUGA CULOANĂ„ nume_coloană` `tip_date`” este comanda care îi spune serverului MySQL să adauge o nouă coloană numită `nume_coloană` cu tipul de date` date_type '.

Să presupunem că Myflix a introdus facturarea și plățile online. În acest scop, ni s-a cerut să adăugăm un câmp pentru numărul cardului de credit în tabelul membrilor noștri. Putem folosi comanda ALTER pentru a face acest lucru. Să ne uităm mai întâi la structura mesei membrilor înainte de a aduce modificări. Scriptul prezentat mai jos ne ajută să facem acest lucru.

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

Putem folosi scriptul prezentat mai jos pentru a adăuga un câmp nou în tabelul membrilor.

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

Executarea scriptului de mai sus în MySQL împotriva Myflixdb adaugă o nouă coloană numită numărul cardului de credit în tabelul membrilor cu VARCHAR ca tip de date. Executarea scriptului de afișare a coloanelor ne oferă următoarele rezultate.

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

După cum puteți vedea din rezultatele returnate, numărul cardului de credit a fost adăugat în tabelul membrilor. Datele conținute în datele membrilor nu sunt afectate de adăugarea noii coloane.

CE ESTE COMANDA DE DROP?

Comanda DROP este obișnuită

  1. Ștergeți o bază de date de pe serverul MySQL
  2. Ștergeți un obiect (cum ar fi Tabel, Coloană) dintr-o bază de date.

Să vedem acum exemple practice care fac uz de comanda DROP.

În exemplul nostru anterior din comanda Alter, am adăugat o coloană numită numărul cardului de credit în tabelul membrilor.

Să presupunem că funcționalitatea de facturare online va dura ceva timp și dorim să DROP coloana cardului de credit

Putem folosi următorul script

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

Executarea scriptului de mai sus elimină coloana credit_card_number din tabelul membrilor

Să vedem acum coloanele din tabelul membrilor pentru a confirma dacă coloana noastră a fost abandonată.

SHOW COLUMNS FROM `members`;

Executarea scriptului de mai sus în MySQL workbench împotriva myflixdb ne oferă următoarele rezultate.

 
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

Observați că numărul cardului de credit a fost scos din lista câmpurilor.

MESAJ DE DROP

Sintaxa pentru DROP un tabel din baza de date este după cum urmează -

DROP TABLE `sample_table`;

Să vedem un exemplu

DROP TABLE `categories_archive`;

Executarea scriptului de mai sus șterge tabelul numit `categories_archive` din baza noastră de date.

CE ESTE COMANDA DE RENUMIRE?

Comanda Redenumire este utilizată pentru a schimba numele unui obiect de bază de date existent (cum ar fi Tabel, Coloană) cu un nume nou .

Redenumirea unui tabel nu face ca acesta să piardă datele conținute în acesta.

Sintaxă:-

Comanda de redenumire are următoarea sintaxă de bază.

RENAME TABLE `current_table_name` TO `new_table_name`;

Să presupunem că vrem să redenumim tabelul movierentals în movie_rentals, putem folosi scriptul prezentat mai jos pentru a realiza acest lucru.

RENAME TABLE `movierentals` TO `movie_rentals`;

Executarea scriptului de mai sus redenumește tabelul „movierentals” în „movie_rentals”.

Acum vom redenumi tabelul movie_rentals înapoi la numele său original.

RENAME TABLE `movie_rentals` TO `movierentals`;

MODIFICĂ CUVINTE CHEIE

Modificați cuvintele cheie vă permite să

  1. Schimbați numele coloanei
  2. Schimbați tipul de date al coloanei
  3. Modificați constrângerile coloanei

Să vedem un exemplu. Câmpul de nume complet din tabelul membrilor este de tip varchar și are o lățime de 150.

SHOW COLUMNS FROM `members`;

Executarea scriptului de mai sus în MySQL workbench împotriva myflixdb ne oferă următoarele rezultate.

 
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

Să presupunem că vrem

  1. Schimbați numele câmpului din „full_names” în „fullname
  2. Schimbați-l în tipul de date char cu o lățime de 250
  3. Adăugați o constrângere NOT NULL

Putem realiza acest lucru folosind comanda change după cum urmează -

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

Executarea scriptului de mai sus în MySQL workbench împotriva myflixdb și apoi executarea script-ului de coloane show de mai sus oferă următoarele rezultate.

 
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

MODIFICĂ CUVINTE CHEIE

Cuvântul cheie MODIFICĂ vă permite să

  1. Modificați tipul de date al coloanei
  2. Modificați constrângerile coloanei

În exemplul CHANGE de mai sus, a trebuit să schimbăm numele câmpului, precum și alte detalii. Omiterea numelui câmpului din instrucțiunea CHANGE va genera o eroare. Să presupunem că suntem interesați doar să schimbăm tipul de date și constrângerile de pe câmp fără a afecta numele câmpului, putem folosi cuvântul cheie MODIFICĂ pentru a realiza acest lucru.

Scriptul de mai jos modifică lățimea câmpului „nume complet” de la 250 la 50.

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

Executarea scriptului de mai sus în MySQL workbench împotriva myflixdb și apoi executarea scriptului de afișare a coloanelor de mai sus oferă următoarele rezultate prezentate mai jos.

 
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

DUPĂ CUVINTE CHEIE

Să presupunem că dorim să adăugăm o nouă coloană la o anumită poziție din tabel.

Putem folosi comanda alter împreună cu cuvântul cheie AFTER.

Scriptul de mai jos adaugă „data_of_registration” imediat după data nașterii în tabelul membrilor.

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

Executarea scriptului de mai sus în MySQL workbench împotriva myflixdb și apoi executarea scriptului de afișare a coloanelor de mai sus oferă următoarele rezultate prezentate mai jos.

 
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

rezumat

  • Comanda alter este utilizată atunci când dorim să modificăm o bază de date sau orice obiect conținut în baza de date.
  • Comanda drop este utilizată pentru a șterge bazele de date de pe serverul MySQL sau obiectele dintr-o bază de date.
  • Comanda Redenumire este utilizată pentru a schimba numele unui tabel într-un nume de tabel nou.
  • Cuvântul cheie Change vă permite să modificați numele unei coloane, tipul de date și constrângerile
  • Modificarea cuvântului cheie vă permite să modificați tipul de date și constrângerile coloanei
  • Cuvântul cheie After este utilizat pentru a specifica poziția unei coloane într-un tabel