6.1 Az adatbázis szerkezetének megváltoztatása
És végül, az adatbázisokkal való munka legfinomabb része az adatbázis megváltoztatása. Ha úgy gondolja, hogy ez valami nagyon egyszerű, akkor itt van egy anekdota a témában:
The service station master, wiping his hands, hands over the car to the client and chats along the way:
- But who do you work for?
- I am a cardiac surgeon, I perform heart operations.
- And they pay a lot?
- $20,000 per operation.
- Nothing for myself ... But we, in fact, are doing the same thing, sorting out the engines, and they pay me only $ 300 ...
- Do you want to earn as much as I do?
- Want...
The surgeon starts the engine in the car and turns to the master:
- Move over!
Pontosan ugyanez a helyzet az adatbázisokkal. Ki akarja venni a külön táblázatban szereplő adatok egy részét? Oké, szüksége van:
- hozzon létre egy új táblázatot
- másolja az adatokat ebbe az új táblába
- távolítsa el az oszlopokat a régi táblázatból
- módosítsa az összes SQL-lekérdezést, amely a régi táblára hivatkozott
- adjon hozzá SQL-lekérdezéseket, amelyek hozzáférnek az új táblához
- módosítsa a Java kódot, amely a régi módon működött a táblázatokkal
- módosítsa a biztonsági mentési és visszaállítási szkripteket, mivel most a táblaszerkezetek nem egyeznek
- ha vannak tesztadatok a fejlesztők számára, akkor azokat is módosítani kell
Bár a valóságban ez még rosszabb:
Új adatbázis-struktúra:
- először módosítsa a tábla szerkezetét a fejlesztő gépén
- akkor meg vagy győződve arról, hogy egy ilyen szerkezet valóban jobb
- hagyja jóvá az új adatbázis-struktúrát
Áttelepítési szkriptek:
- olyan szkripteket írsz, amelyek megváltoztatják a tábla adatait stb
- futtassa ezeket a szkripteket egy gépen a régi adatbázis-struktúrával, és nézze meg, hogyan változik
- ellenőrizze az új bázis összes kritikus helyét
Frissítés eladó
- állítsa le a termelési adatbázist
- készítsen teljes biztonsági másolatot
- szkriptek végrehajtása
- mivel általában sok van a piacon, ezek a szkriptek órákig működhetnek
Elindítja a prod-ot, és reméli, hogy nem kell mindent visszaforgatnia.
6.2 ALTER TABLE utasítás
Másrészt maga a szkript, amely megváltoztatja a táblázat szerkezetét, nagyon egyszerű. Bizonyos szempontból hasonlít egy táblázatkészítő szkripthez. Táblázatmódosítási kérelem általános nézete:
ALTER TABLE table
team 1,
team 2,
Team N
A parancsok nagyon különbözőek, de három fő csoportot lehet megkülönböztetni:
ADD
- tesz hozzá valamit az asztalhozMODIFY
- megváltoztat valamit a táblázatbanDROP
- töröl valamit a táblázatból
És ha mondok valamit, az nem az adatokról szól, hanem a táblázat szerkezetéről.
Például úgy dönt, hogy egy új oszlopot ad hozzá a táblához, majd végre kell hajtania a következő lekérdezést:
ALTER TABLE table
ADD COLUMN Name type
Írjunk egy lekérdezést, amely hozzáad egy e-mail oszlopot az alkalmazottak táblázatához :
ALTER TABLE employee
ADD COLUMN email VARCHAR(10)
Most változtassuk meg az e-mail karakterlánc hosszát 10-ről 100-ra: ehhez új szkriptre van szükségünk:
ALTER TABLE employee
MODIFY COLUMN email VARCHAR(100)
Ha meg szeretné változtatni egy oszlop egyes attribútumait, de nem a típusát, akkor a parancsra ALTER COLUM
van szüksége . Állítsuk be az alapértelmezett e-mail értéket:
ALTER TABLE employee
ALTER COLUMN email VARCHAR(100) DEFAULT 'test@test.com'
És végül az oszlop eltávolítható, ha nincs rá szüksége:
ALTER TABLE employee
DROP COLUMN email
6.3 Elsődleges kulcs hozzáadása és eltávolítása
És még néhány hasznos példa.
Tegyük fel, hogy elfelejtettük az id oszlopot elsődleges kulcsként deklarálni. Ezt külön-külön mindig megteheti ALTER TABLE
:
ALTER TABLE employee
ADD PRIMARY KEY (email);
Az eltávolítása még egyszerűbb:
ALTER TABLE employee
DELETE PRIMARY KEY;
GO TO FULL VERSION