Změnit přidání MySQL pro zvýšení více pozic v poli? Podrobné vysvětlení použití příkazu upravit sloupec

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!

🔔 Buďte první, kdo získá cenný „Průvodce používáním nástroje AI pro obsahový marketing ChatGPT“ v hlavním adresáři kanálu! 🌟
📚 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í!

 

发表 评论

Vaše e-mailová adresa nebude zveřejněna. 必填 项 已 用 * 标注

滚动 到 顶部