Artiklite kataloog
Kuidas lisada mitu välja MySQL-i käsuga `ALTER ALTER ADD`? `MODIUS Column` käsu detailne selgitus.
MySQL ALTER käsk
Kui peame muutma andmetabeli nime või andmetabeli välju, peame kasutama MySQL ALTER käsku.
Enne selle õpetuse alustamist loome tabeli nimega: 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)
Kustutage, lisage või muutke tabelivälju
Järgmine käsk kasutab ülaltoodud tabeli veeru i eemaldamiseks käsku ALTER koos klausliga DROP:
mysql> ALTER TABLE testalter_tbl DROP i;
DROP-i ei saa kasutada välja kustutamiseks, kui andmetabelis on alles vaid üks väli.
ADD-klauslit kasutatakse MySQL-is andmetabelisse veergude lisamiseks Järgmises näites lisatakse i-väli tabelisse testalter_tbl ja määratakse andmetüüp:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Pärast ülaltoodud käsu täitmist lisatakse andmetabeli väljade lõppu automaatselt väli i.
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)
Uue välja positsiooni määramiseks võite kasutada MySQL-i pakutavaid märksõnu FIRST ( esimesele veerule määratud) ja AFTER field_name (määratud teatud välja järele) .
Proovige järgmist ALTER TABLE lauset ja pärast edukat täitmist kasutage tabeli struktuuri muudatuste vaatamiseks käsku SHOW COLUMNS:
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;
Märksõnu FIRST ja AFTER kasutatakse ainult klauslis ADD, nii et kui soovite andmetabeli välja asukohta lähtestada, peate esmalt välja kustutama DROP-i ja seejärel välja lisamiseks ja asukoha määramiseks kasutama ADD.
Muutke välja tüüpi ja nime
Kui teil on vaja muuta välja tüüpi ja nime, võite kasutada MODIFY või CHANGE klauslit käsus ALTER.
Näiteks välja c tüübi muutmiseks CHAR(1) asemel CHAR(10), täitke järgmine käsk:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
CHANGE-klausli puhul on süntaks väga erinev.Vahetult pärast märksõna MUUDA on selle välja nimi, mida soovite muuta, ning seejärel määrake uus välja nimi ja tüüp.Proovige järgmist näidet.
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
ALTER TABLE mõju null- ja vaikeväärtustele
Välja muutmisel saate määrata, kas kaasata ainult või määrata vaikeväärtus.
Järgmine näide täpsustab, et väli j EI ole NULL ja vaikeväärtus on 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Kui te vaikeväärtust ei määra, määrab MySQL välja vaikimisi automaatselt NULL.
Muuda välja vaikeväärtust
Välja vaikeväärtuse muutmiseks saate kasutada klahvi ALTER, proovige järgmisi näiteid.
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)
Välja vaikeväärtuse eemaldamiseks saate kasutada ka käsku ALTER koos klausliga DROP, nagu järgmises näites:
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:
Andmetabeli tüüpi saab muuta käsu ALTER ja klausli TYPE abil.Proovige järgmist näidet, kus muudame tabeli testalter_tbl tüübiks MYISAM:
Märkus. Tabeli tüübi kontrollimiseks võite kasutada käsku 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)
Muutke tabeli nime
Kui teil on vaja muuta andmetabeli nime, saate selleks kasutada lauses ALTER TABLE olevat klauslit RENAME.
Proovige järgmist näidet andmetabeli testalter_tbl ümbernimetamiseks alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Käsku ALTER saab kasutada ka MySQL-i tabelites indeksite loomiseks ja kustutamiseks, millest räägime järgmistes peatükkides.
muud kasutusotstarvet
Muutke salvestusmootorit: muutke see myisamiks
alter table tableName engine=myisam;
Eemaldage võõrvõtmepiirang: võtmenimi on võõrvõtme pseudonüüm
alter table tableName drop foreign key keyName;
Muudetud välja suhteline asukoht: siin nimi1 on muudetav väli, tüüp1 on välja algne tüüp, saab valida esimene ja pärast, mis peaksid olema ilmsed, esimene asetatakse esimeseks ja pärast asetatakse pärast nime2 valdkonnas
alter table tableName modify name1 type1 first|after name2;
Loodetavasti on teile abiks artikkel "Mitme välja lisamine MySQL-i ALTER TABLE'i abil? 'MODIATE COLLECT' lause üksikasjalik selgitus", mida jagati Chen Weiliangi blogis ( https://www.chenweiliang.com/ ).
Jaga julgelt seda artikli linki: https://www.chenweiliang.com/cwl-495.html
