Adresář článků
MySQL alter add pro zvýšení více pozic v poli? Podrobné vysvětlení použití příkazu upravit sloupec
MySQL příkaz ALTER
Když potřebujeme upravit název datové tabulky nebo upravit pole datové tabulky, musíme použít příkaz MySQL ALTER.
Před spuštěním tohoto tutoriálu vytvořte tabulku s názvem: 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)
Odstraňte, přidejte nebo upravte pole tabulky
Následující příkaz používá příkaz ALTER s klauzulí DROP k odstranění sloupce i z výše vytvořené tabulky:
mysql> ALTER TABLE testalter_tbl DROP i;
Pokud v datové tabulce zbývá pouze jedno pole, nelze použít DROP k odstranění pole.
Klauzule ADD se v MySQL používá k přidání sloupců do datové tabulky. Následující příklad přidá pole i do tabulky testalter_tbl a definuje datový typ:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Po provedení výše uvedeného příkazu se pole i automaticky přidá na konec polí datové tabulky.
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)
Pokud potřebujete určit umístění nového pole, můžete použít klíčové slovo FIRST poskytované MySQL (setPolohováníprvní sloupec), AFTER název pole (nastaveno za pole).
Vyzkoušejte následující příkaz ALTER TABLE a po úspěšném provedení použijte příkaz SHOW COLUMNS k zobrazení změn ve struktuře tabulky:
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;
Klíčová slova FIRST a AFTER se používají pouze v klauzuli ADD, takže pokud chcete resetovat pozici pole datové tabulky, musíte použít DROP k odstranění pole a poté ADD k přidání pole a nastavení pozice.
Upravte typ a název pole
Pokud potřebujete upravit typ a název pole, můžete použít klauzuli MODIFY nebo CHANGE v příkazu ALTER.
Chcete-li například změnit typ pole c z CHAR(1) na CHAR(10), proveďte následující příkaz:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
U klauzule CHANGE je syntaxe velmi odlišná.Bezprostředně za klíčovým slovem CHANGE je název pole, které chcete upravit, a poté zadejte nový název a typ pole.Zkuste následující příklad:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Vliv ALTER TABLE na nulové a výchozí hodnoty
Při úpravě pole můžete určit, zda se má zahrnout pouze nebo zda se má nastavit výchozí hodnota.
Následující příklad uvádí, že pole j NENÍ NULL a výchozí hodnota je 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Pokud nenastavíte výchozí hodnotu, MySQL automaticky nastaví pole na NULL ve výchozím nastavení.
Upravit výchozí hodnotu pole
Pomocí ALTER můžete změnit výchozí hodnotu pole, zkuste následující příklad:
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)
K odstranění výchozí hodnoty pole můžete také použít příkaz ALTER s klauzulí DROP, jako v následujícím příkladu:
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:
Úpravu typu datové tabulky lze provést pomocí příkazu ALTER a klauzule TYPE.Vyzkoušejte následující příklad, kde změníme typ tabulky testalter_tbl na MYISAM:
Poznámka:Chcete-li zobrazit typ datové tabulky, můžete použít příkaz SHOW TABLE STATUS.
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)
Upravit název tabulky
Pokud potřebujete upravit název datové tabulky, můžete k tomu použít klauzuli RENAME v příkazu ALTER TABLE.
Zkuste následující příklad přejmenovat datovou tabulku testalter_tbl na alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Příkaz ALTER lze také použít k vytváření a odstraňování indexů v tabulkách MySQL, kterým se budeme věnovat v dalších kapitolách.
změnit jiné použití
Upravte modul úložiště: upravte jej na myisam
alter table tableName engine=myisam;
Odstraňte omezení cizího klíče: keyName je alias cizího klíče
alter table tableName drop foreign key keyName;
Relativní pozice upraveného pole: zde jméno1 je pole, které chcete upravit, typ1 je původní typ pole a můžete si vybrat jednu z možností první a poté, což by mělo být zřejmé, první je umístěno jako první a po je umístěno za polem name2
alter table tableName modify name1 type1 first|after name2;
Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) sdílené „Změnit přidání MySQL pro zvýšení více pozic v poli? Podrobné vysvětlení použití příkazu Upravit sloupec“ je pro vás užitečné.
Vítejte u sdílení odkazu na tento článek:https://www.chenweiliang.com/cwl-495.html
Vítejte na telegramovém kanálu blogu Chen Weiliang, kde získáte nejnovější aktualizace!
📚 Tento průvodce má obrovskou hodnotu, 🌟Toto je vzácná příležitost, nenechte si ji ujít! ⏰⌛💨
Sdílejte a lajkujte, pokud se vám líbí!
Vaše sdílení a lajky jsou naší neustálou motivací!