Cikkkönyvtár
MySQL alter add növelni több mező pozícióját? Az oszlop módosítása utasítás használatának részletes magyarázata
MySQL ALTER parancsot
Amikor módosítanunk kell az adattábla nevét vagy az adattábla mezőit, akkor a MySQL ALTER parancsot kell használnunk.
Mielőtt elkezdené ezt az oktatóanyagot, hozzunk létre egy táblát, melynek neve: testalter_tbl.
root@host# mysql -u root -p password; Enter password:******* mysql> use chenweiliang; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c CHAR(1) -> ); Query OK, 0 rows affected (0.05 sec) mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | i | int(11) | YES | | NULL | | | c | char(1) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Táblázatmezők törlése, hozzáadása vagy módosítása
A következő parancs az ALTER parancsot használja a DROP záradékkal a fent létrehozott táblázat i oszlopának eldobásához:
mysql> ALTER TABLE testalter_tbl DROP i;
A DROP segítségével nem törölhet egy mezőt, ha csak egy mező maradt az adattáblázatban.
Az ADD záradékot a MySQL-ben használják oszlopok hozzáadására az adattáblázathoz. A következő példa hozzáadja az i mezőt a testalter_tbl táblához, és meghatározza az adattípust:
mysql> ALTER TABLE testalter_tbl ADD i INT;
A fenti parancs végrehajtása után az i mező automatikusan felkerül az adattábla mezőinek végére.
mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Ha meg kell adnia az új mező helyét, használhatja a MySQL által biztosított FIRST kulcsszót (setHelymeghatározáselső oszlop), AFTER mezőnév (mező után beállítva).
Próbálja ki a következő ALTER TABLE utasítást, és a sikeres végrehajtás után használja a SHOW COLUMNS parancsot a táblaszerkezet változásainak megtekintéséhez:
ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT FIRST; ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT AFTER c;
A FIRST és AFTER kulcsszavak csak az ADD záradékban használatosak, tehát ha vissza akarja állítani egy adattábla mezőjének pozícióját, először a DROP parancsot kell használnia a mező törléséhez, majd az ADD segítségével a mező hozzáadásához és a pozíció beállításához.
Módosítsa a mező típusát és nevét
Ha módosítani kell a mező típusát és nevét, használhatja a MODIFY vagy CHANGE záradékot az ALTER parancsban.
Például a c mező típusának CHAR(1)-ről CHAR(10-re) módosításához hajtsa végre a következő parancsot:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
A CHANGE záradékkal a szintaxis nagyon eltérő.Közvetlenül a CHANGE kulcsszó után a módosítani kívánt mező neve, majd adja meg az új mező nevét és típusát.Próbáld ki a következő példát:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Az ALTER TABLE hatása a nulla és az alapértelmezett értékekre
Amikor módosít egy mezőt, megadhatja, hogy csak szerepeljen-e, vagy adjon meg egy alapértelmezett értéket.
A következő példa azt határozza meg, hogy a j mező NEM NULL, és az alapértelmezett érték 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Ha nem ad meg alapértelmezett értéket, a MySQL automatikusan NULL-ra állítja a mezőt.
Módosítsa a mező alapértelmezett értékét
Az ALTER gombbal módosíthatja egy mező alapértelmezett értékét, próbálkozzon a következő példákkal:
mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | 1000 | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Az ALTER parancsot a DROP záradékkal együtt is használhatja egy mező alapértelmezett értékének eltávolítására, amint az a következő példában látható:
mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) Changing a Table Type:
Az adattábla típusának módosítása az ALTER paranccsal és a TYPE záradékkal történhet.Próbálja ki a következő példát, ahol a testalter_tbl tábla típusát MYISAM-ra változtatjuk:
Megjegyzés:Az adattábla típusának megtekintéséhez használja a SHOW TABLE STATUS utasítást.
mysql> ALTER TABLE testalter_tbl ENGINE = MYISAM; mysql> SHOW TABLE STATUS LIKE 'testalter_tbl'\G *************************** 1. row **************** Name: testalter_tbl Type: MyISAM Row_format: Fixed Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: 25769803775 Index_length: 1024 Data_free: 0 Auto_increment: NULL Create_time: 2007-06-03 08:04:36 Update_time: 2007-06-03 08:04:36 Check_time: NULL Create_options: Comment: 1 row in set (0.00 sec)
Módosítsa a táblázat nevét
Ha módosítania kell az adattábla nevét, használhatja az ALTER TABLE utasítás RENAME záradékát.
A következő példával próbálja átnevezni a testalter_tbl adattáblát alter_tbl-re:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Az ALTER paranccsal MySQL táblákon is létrehozhatunk és törölhetünk indexeket, amelyekről a következő fejezetekben térünk ki.
más felhasználási módok megváltoztatására
Módosítsa a tárolómotort: módosítsa myisamra
alter table tableName engine=myisam;
Távolítsa el az idegenkulcs-kényszert: a kulcsnév egy idegenkulcs-álnév
alter table tableName drop foreign key keyName;
A módosított mező relatív helyzete: itt a név1 a módosítani kívánt mező, a típus1 a mező eredeti típusa, és választhat az első és az utáni közül, ami nyilvánvalónak kell lennie, az első kerül először, utána pedig a név2 mező után helyezzük el
alter table tableName modify name1 type1 first|after name2;
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) megosztott "MySQL alter add, hogy növelje több mező pozícióját? Az Oszlop módosítása utasítás használatának részletes magyarázata hasznos az Ön számára.
Üdvözöljük a cikk linkjének megosztásában:https://www.chenweiliang.com/cwl-495.html
Üdvözöljük Chen Weiliang blogjának Telegram csatornáján, hogy értesüljön a legfrissebb hírekről!
📚 Ez az útmutató hatalmas értéket tartalmaz, 🌟 Ritka lehetőség ez, ne hagyd ki! ⏰⌛💨
Oszd meg és lájkold, ha tetszik!
Az Ön megosztása és lájkja folyamatos motivációnk!