Az oszlopdefiníció megváltoztatása nagyon hasznos funkció az adatbázis számára, amikor csak akarjuk. A MySQL lehetővé teszi, hogy egy parancs módosítsa az oszlopdefiníciót, például a nevet és a típust az igényeinknek megfelelően. Ezt egy segítségével tehetjük meg ALTER TABLE nyilatkozat be MySQL . Ebben a cikkben lépésről lépésre látni fogjuk, hogyan módosíthatja az oszlopdefiníciót az ALTER TABLE paranccsal.
Szintaxis
A következő szintaxis az oszlop adattípusának megváltoztatásához a MySQL-ben:
ALTER TABLE table_name MODIFY column_name datatype;
Értsük meg részletesen az állítás paramétereit:
- Először is meghatározzuk a táblázat neve a módosítandó oszlopot tartalmazó ALTER TABLE kulcsszavak után.
- Másodszor, megadjuk a oszlop neve hogy a MODIFY záradék után meg akarjuk változtatni az adattípust.
- Végül megadjuk az újat adattípus hogy az oszlop módosítsa az oszlop típusát.
Ha meg akarjuk változtatni az adattípusokat több oszlop egyetlen utasításban a következőképpen használhatjuk az utasítást:
ALTER TABLE table_name MODIFY COLUMN column_name1 data_type, MODIFY COLUMN column_name2 data_type ... ;
Példa a MySQL oszloptípus módosítására
Nézzük meg, hogyan működik az ALTER TABLE utasítás a MySQL-ben az oszlopdefiníció megváltoztatására szolgáló különféle példákon keresztül. Tegyük fel, hogy van egy táblánk alkalmazottak ', amely a következő oszlopok leírását tartalmazza:
Táblázat neve: alkalmazottak
A fenti képen láthatjuk, hogy a emp_id oszlop adattípusa egy egész szám típus. Most tegyük fel, hogy meg akarjuk változtatni az emp_id adattípusát INT-ről VARCHAR-ra; ehhez végrehajthatjuk az alábbi utasítást:
mysql> ALTER TABLE employees Modify column emp_id varchar(10);
Az utasítás végrehajtása után, ha nem található hiba, az alábbi kimenetnek kellett volna megjelennie:
Ellenőrizzük a táblázat adatait a LEÍRÁS nyilatkozat:
A kimenetben megfigyelhetjük, hogy az emp_id oszlop adattípusa integer-ről varchar-ra változott.
Tegyük fel, hogy az „alkalmazottak” tábla egynél több oszlopadattípusát szeretné módosítani egyetlen utasítás használatával. Ebben az esetben az oszlop nevét a segítségével adjuk meg vessző(,) operátor . Lásd az alábbi nyilatkozatot:
magok vs spórák
mysql> ALTER TABLE employees MODIFY COLUMN emp_id int(5), MODIFY COLUMN income VARCHAR(20);
Az utasítás végrehajtása után, ha nem található hiba, az alábbi kimenetnek kellett volna megjelennie:
Most ismét ellenőrizze a táblázat adatait a DESCRIBE utasítással:
A kimenetben megfigyelhető, hogy az emp_id oszlop adattípusa varchar-ról integer-re, a bevétel oszlopa pedig integer-ről varchar-ra változott.
Hogyan lehet megváltoztatni az oszlop adattípusát a MySQL munkaasztalon?
Az oszlop adattípusának megváltoztatásához használja a MySQL munkaasztal , először el kell indítanunk, majd bejelentkeznünk a korábban létrehozott felhasználónévvel és jelszóval. A következőképpen adja vissza a képernyőt:
Most tegye a következő lépéseket az oszlopdefiníció, például a név vagy az adattípus módosításához:
1. Lépjen a Navigáció fülre, és kattintson a gombra Ütemezés menü amely tartalmazza a MySQL szerveren elérhető összes adatbázist.
2. Válassza ki az adatbázist ( például , mystudentdb), kattintson rá duplán, és jelenítse meg a táblázatokat, nézeteket, függvényeket és tárolt eljárásokat tartalmazó almenüt.
3. Bontsa ki a Táblázatok almenü és válassza ki azt a táblázatot, amelyben módosítani kívánja az oszlopdefiníciót. Például , a ' hallgatók ' táblázat a következő oszlopdefiníciót tartalmazza:
4. Ha meg akarjuk változtatni a osztály oszloptípust INT-től VARCHAR-ig, majd Jobb klikk a kiválasztott asztalon (tanulók), majd kattintson a gombra Alter Table választási lehetőség. A képernyőt az alábbiak szerint kell megkapnunk:
5. Kattintson a adattípus A módosítani kívánt oszlopnak megfelelő mezőben válassza ki a kívánt típust, majd kattintson a gombra Alkalmaz gomb. Lásd az alábbi képet:
6. Az alábbi képernyőt fogjuk kapni. Ha nem talál hibát, kattintson a gombra Alkalmaz gomb.
7. Végül kattintson a Befejez gombot a folyamat befejezéséhez.
8. Most ismét ellenőrizze a táblázat adatait a DESCRIBE utasítással.
A kimenetben megfigyelhetjük, hogy az adattípus a osztályos oszlop értékről megváltozott egész szám varchar .