MYSQL – ALTER, DROP, RENUMIRE, MODIFICA

Ce este comanda ALTER?

Cum se spune Schimbarea este singura constantă

Odată cu timpul, și cerințele afacerii se schimbă. Pe măsură ce cerințele de afaceri se modifică, designul bazelor de date trebuie și ele schimbate.

MySQL furnizează MODIFICA funcţie care ne ajută încorporează modificările la designul bazei de date deja existent.

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

Să presupunem că am finalizat proiectarea bazei de date și a fost implementată. Utilizatorii noștri bazei de date o folosesc și apoi își dau seama că unele dintre informațiile vitale au fost omise în faza de proiectare. Ei nu vor să piardă datele existente, ci vor doar să încorporeze noile informații. Comanda de modificare este utilă în astfel de situații. Putem folosi comanda alter pentru a schimba tipul de date al unui câmp din șir în 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 spune MySQL server pentru a modifica tabelul numit `table_name`.
  • „ADĂUGAȚI COLONA `nume_coloană` `tip_date`” este comanda care spune MySQL server pentru a adăuga o nouă coloană numită `column_name` cu tipul de date `data_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 de membri. Putem folosi comanda ALTER pentru a face asta. Să ne uităm mai întâi la structura tabelului membrilor înainte de a face orice amendamente. Scriptul prezentat mai jos ne ajută să facem asta.

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 la 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 la tabelul membrilor cu VARCHAR ca tip de date. Executarea scriptului show columns 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 la tabelul membrilor. Datele conținute în datele membrilor nu sunt afectate de adăugarea noii coloane.

CE ESTE COMANDA DROP?

Comanda DROP este folosită pentru

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

Să ne uităm acum la exemple practice care folosesc comanda DROP.

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

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

Putem folosi următorul script

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

Executarea scriptului de mai sus scade coloana credit_card_number din tabelul de membri

Să ne uităm acum la coloanele din tabelul membrilor pentru a confirma dacă coloana noastră a fost eliminată.

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 eliminat din lista de câmpuri.

DROP TABLE

Sintaxa pentru DROP un tabel din baza de date este următoarea -

DROP TABLE `sample_table`;

Să ne uităm la un exemplu

DROP TABLE `categories_archive`;

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

CE ESTE COMANDA DE RENUMIRE?

Comanda de redenumire este folosită pentru schimbați numele unui obiect de bază de date existent (cum ar fi Tabel, Coloană) cu un nume nou.

Redenumirea unui tabel nu duce la pierderea datelor conținute în el.

Sintaxă:-

Comanda rename 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`;

SCHIMBA CUVINTUL CHEIE

Schimbarea cuvintelor cheie vă permite

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

Să ne uităm la un exemplu. Câmpul cu nume complete din tabelul membrilor este de tipul de date 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 la 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 de modificare 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 scriptului show columns dat 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

MODIFICA CUVINTUL CHEIE

Cuvântul cheie MODIFICARE vă permite

  1. Modificați tipul de date pe coloană
  2. Modificați constrângerile coloanei

În exemplul de SCHIMBARE 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 pe câmp fără a afecta numele câmpului, putem folosi cuvântul cheie MODIFY 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 show columns dat 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Ă CUVINTUL CHEIE

Să presupunem că vrem 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 show columns dat 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 folosită atunci când dorim să modificăm o bază de date sau orice obiect conținut în baza de date.
  • Comanda drop este folosită pentru a șterge bazele de date din MySQL serverul sau obiecte dintr-o bază de date.
  • Comanda de redenumire este folosită pentru a schimba numele unui tabel cu un nou nume de tabel.
  • Cuvântul cheie Modificare vă permite să schimbați numele unei coloane, tipul de date și constrângerile
  • Cuvântul cheie Modificare vă permite să modificați un tip de date de coloană și constrângeri
  • Cuvântul cheie After este folosit pentru a specifica poziția unei coloane într-un tabel