MySQL Java JavaScript PHP Python HTML-CSS C-sharp

Modificarea tabelor și coloanelor

Dacă tabela a fost deja creată și trebuie modificată, atunci se utilizează comanda ALTER TABLE. Forma sa sintactică abreviată este:

ALTER TABLE nume_tabel
{ ADD nume_coloană tip_date_coloană [atribute_coloană] |
  DROP COLUMN nume_coloană |
  MODIFY COLUMN nume_coloană tip_date_coloană [atribute_coloană] |
  ALTER COLUMN nume_coloană SET DEFAULT valoare_implicita |
  ADD [CONSTRAINT] definire_restricție |
  DROP [CONSTRAINT] nume_restricție }

Această comandă în general suportă multe opțiuni și funcționalități. Toate acestea pot fi consultate în documentație. Vom examina doar scenariile de bază cu care ne putem întâlni.

Adăugarea unei noi coloane

Vom adăuga în tabela "Customers" o nouă coloană numită "Address":

ALTER TABLE Customers
ADD Address VARCHAR(50) NULL;

În acest caz, coloana "Address" are tipul VARCHAR și pentru ea este definit atributul NULL.

Ștergerea coloanei

Vom șterge coloana "Address" din tabela "Customers":

ALTER TABLE Customers
DROP COLUMN Address;

Schimbarea valorii implicite

Vom schimba valoarea implicită în tabela "Customers" pentru coloana "Age" la 22:

ALTER TABLE Customers
ALTER COLUMN Age SET DEFAULT 22;

Schimbarea tipului de date

Vom schimba tipul de date al coloanei "FirstName" în tabela "Customers" la CHAR(100) și vom seta atributul NULL pentru aceasta:

ALTER TABLE Customers
MODIFY COLUMN FirstName CHAR(100) NULL;

Adăugarea și ștergerea unei chei externe

Să presupunem că inițial în baza de date sunt adăugate două tabele care nu sunt legate între ele:

CREATE TABLE Customers
(
   Id INT PRIMARY KEY AUTO_INCREMENT,
   Age INT,
   FirstName VARCHAR(20) NOT NULL,
   LastName VARCHAR(20) NOT NULL
);
CREATE TABLE Orders
(
   Id INT PRIMARY KEY AUTO_INCREMENT,
   CustomerId INT,
   CreatedAt Date
);

Vom adăuga o restricție de cheie externă la coloana "CustomerId" a tabelei "Orders":

ALTER TABLE Orders
ADD FOREIGN KEY(CustomerId) REFERENCES Customers(Id);

La adăugarea constrângerilor, putem specifica un nume pentru ele folosind operatorul CONSTRAINT, după care se indică numele constrângerii:

ALTER TABLE Orders
ADD CONSTRAINT orders_customers_fk
FOREIGN KEY(CustomerId) REFERENCES Customers(Id);

În acest caz, constrângerea cheii externe se numește orders_customers_fk. Ulterior, folosind acest nume, putem șterge constrângerea:

ALTER TABLE Orders
DROP FOREIGN KEY orders_customers_fk;

Adăugarea și ștergerea cheii primare

Vom adăuga o cheie primară în tabela "Products":

CREATE TABLE Products
(
   Id INT,
   Model VARCHAR(20)
);

ALTER TABLE Products
ADD PRIMARY KEY (Id);

Acum vom șterge cheia primară:

ALTER TABLE Products
DROP PRIMARY KEY;
← Lecția anterioară Lecția următoare →