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 | ||
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 | ||
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ă
- Ștergeți o bază de date de pe serverul MySQL
- Ș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 | ||
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ă
- Schimbați numele coloanei
- Schimbați tipul de date al coloanei
- 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 | ||
varchar(255) | YES | NULL |
Să presupunem că vrem
- Schimbați numele câmpului din „full_names” în „fullname
- Schimbați-l în tipul de date char cu o lățime de 250
- 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 | ||
varchar(255) | YES | NULL |
MODIFICĂ CUVINTE CHEIE
Cuvântul cheie MODIFICĂ vă permite să
- Modificați tipul de date al coloanei
- 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 | ||
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 | ||
varchar(255) | YES | NULL |
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