MySQL alter add za povečanje več položajev polj? Podrobna razlaga uporabe stavka za spreminjanje stolpca

MySQL alter add za povečanje več položajev polja? Podrobna razlaga uporabe stavka za spreminjanje stolpca

MySQL ukaz ALTER

Ko moramo spremeniti ime podatkovne tabele ali spremeniti polja podatkovne tabele, moramo uporabiti ukaz MySQL ALTER.

Preden začnemo s to vadnico, ustvarimo tabelo z imenom: 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)

Brisanje, dodajanje ali spreminjanje polj tabele

Naslednji ukaz uporablja ukaz ALTER s klavzulo DROP, da izpusti stolpec i zgoraj ustvarjene tabele:

mysql> ALTER TABLE testalter_tbl  DROP i;

Za brisanje polja ne morete uporabiti DROP, če je v podatkovni tabeli ostalo samo eno polje.

Klavzula ADD se uporablja v MySQL za dodajanje stolpcev v podatkovno tabelo. Naslednji primer doda polje i v tabelo testalter_tbl in definira podatkovni tip:

mysql> ALTER TABLE testalter_tbl ADD i INT;

Po izvedbi zgornjega ukaza se polje i samodejno doda na konec polj podatkovne tabele.

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)

Če morate določiti lokacijo novega polja, lahko uporabite ključno besedo FIRST, ki jo ponuja MySQL (setPozicioniranjeprvi stolpec), AFTER ime polja (nastavljeno za poljem).

Poskusite z naslednjim stavkom ALTER TABLE in po uspešni izvedbi uporabite SHOW COLUMNS za ogled sprememb v strukturi tabele:

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;

Ključni besedi FIRST in AFTER se uporabljata samo v klavzuli ADD, tako da, če želite ponastaviti položaj polja podatkovne tabele, morate najprej uporabiti DROP, da izbrišete polje, nato pa uporabite ADD, da dodate polje in nastavite položaj.


Spremenite vrsto in ime polja

Če morate spremeniti vrsto in ime polja, lahko uporabite stavek MODIFY ali CHANGE v ukazu ALTER.

Na primer, če želite spremeniti vrsto polja c iz CHAR(1) v CHAR(10), izvedite naslednji ukaz:

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);

Pri klavzuli CHANGE je sintaksa zelo drugačna.Takoj za ključno besedo CHANGE je ime polja, ki ga želite spremeniti, nato pa določite novo ime in vrsto polja.Poskusite naslednji primer:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

Učinek ALTER TABLE na ničelne in privzete vrednosti

Ko spremenite polje, lahko določite, ali želite vključiti samo ali želite nastaviti privzeto vrednost.

Naslednji primer določa, da polje j NI NULL in je privzeta vrednost 100.

mysql> ALTER TABLE testalter_tbl 
    -> MODIFY j BIGINT NOT NULL DEFAULT 100;

Če ne nastavite privzete vrednosti, bo MySQL samodejno privzeto nastavil polje na NULL.


Spremenite privzeto vrednost polja

S tipko ALTER lahko spremenite privzeto vrednost polja, poskusite naslednje primere:

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)

Uporabite lahko tudi ukaz ALTER s klavzulo DROP, da odstranite privzeto vrednost polja, kot v naslednjem primeru:

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:

Spreminjanje vrste podatkovne tabele je mogoče izvesti z ukazom ALTER in klavzulo TYPE.Poskusite naslednji primer, kjer spremenimo tip tabele testalter_tbl v MYISAM:

Opomba:Za ogled vrste podatkovne tabele lahko uporabite stavek 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)

Spremenite ime tabele

Če morate spremeniti ime podatkovne tabele, lahko za to uporabite člen RENAME v stavku ALTER TABLE.

Poskusite z naslednjim primerom preimenovati podatkovno tabelo testalter_tbl v alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

Ukaz ALTER lahko uporabite tudi za ustvarjanje in brisanje indeksov podatkovnih tabel MySQL, kar bomo predstavili v naslednjih poglavjih.

spremenite druge uporabe

Spremenite pogon za shranjevanje: spremenite ga v myisam

alter table tableName engine=myisam;

Odstranite omejitev tujega ključa: keyName je vzdevek tujega ključa

alter table tableName drop foreign key keyName;

Relativni položaj spremenjenega polja: tukaj je ime1 polje, ki ga je treba spremeniti, tip1 je izvirna vrsta polja, lahko izberete prvo in za, kar mora biti očitno, prvo je postavljeno na prvo mesto, zatem pa za imenom2. polje

alter table tableName modify name1 type1 first|after name2;

Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) delil "MySQL sprememba dodati za povečanje več položajev polj? Podrobna razlaga uporabe stavka za spreminjanje stolpca" vam je v pomoč.

Dobrodošli, da delite povezavo tega članka:https://www.chenweiliang.com/cwl-495.html

Dobrodošli na kanalu Telegram spletnega dnevnika Chena Weilianga, kjer boste prejeli najnovejše posodobitve!

🔔 Bodite prvi, ki boste prejeli dragocen »Vodnik za uporabo orodja AI za vsebinski marketing ChatGPT« v zgornjem imeniku kanala! 🌟
📚 Ta vodnik ima ogromno vrednosti, 🌟To je redka priložnost, ne zamudite je! ⏰⌛💨
Delite in všečkajte, če vam je všeč!
Vaše deljenje in všečki so naša stalna motivacija!

 

发表 评论

Vaš e-poštni naslov ne bo objavljen. 必填 项 已 用 * Oznaka

滚动 到 顶部