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

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!

🔔 Legyen Ön az első, aki megkapja az értékes "ChatGPT Content Marketing AI Tool használati útmutatót" a csatorna felső könyvtárában! 🌟
📚 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!

 

发表 评论

Az e-mail címed nem kerül nyilvánosságra. A kötelező mezőket használjuk * Címke

görgess a tetejére