CodeGym /Tanfolyamok /SQL & Hibernate /Táblázat szerkezetének megváltoztatása

Táblázat szerkezetének megváltoztatása

SQL & Hibernate
Szint , Lecke
Elérhető

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 asztalhoz
  • MODIFY- megváltoztat valamit a táblázatban
  • DROP- 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;
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION