Artikel Directory
MySQL ændre tilføje for at øge flere feltpositioner? Detaljeret forklaring af brugen af modify column statement
MySQL ALTER kommando
Når vi skal ændre datatabelnavnet eller ændre datatabelfelterne, skal vi bruge MySQL ALTER-kommandoen.
Før du starter denne vejledning, lad os oprette en tabel med navnet: 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)
Slet, tilføj eller rediger tabelfelter
Følgende kommando bruger ALTER-kommandoen med DROP-sætningen til at slette i-kolonnen i tabellen oprettet ovenfor:
mysql> ALTER TABLE testalter_tbl DROP i;
DROP kan ikke bruges til at slette et felt, hvis der kun er ét felt tilbage i datatabellen.
ADD-sætningen bruges i MySQL til at tilføje kolonner til datatabellen. Følgende eksempel tilføjer i-feltet til tabellen testalter_tbl og definerer datatypen:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Efter at have udført ovenstående kommando, tilføjes i-feltet automatisk til slutningen af datatabelfelterne.
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)
Hvis du har brug for at angive placeringen af det nye felt, kan du bruge søgeordet FIRST leveret af MySQL (setPositioneringførste kolonne), EFTER feltnavn (sat efter et felt).
Prøv følgende ALTER TABLE-sætning, og efter vellykket udførelse skal du bruge SHOW COLUMNS til at se ændringerne i tabelstrukturen:
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;
FIRST og AFTER nøgleordene bruges kun i ADD klausulen, så hvis du vil nulstille positionen af et datatabelfelt, skal du bruge DROP til at fjerne feltet og derefter ADD for at tilføje feltet og indstille positionen.
Rediger felttype og navn
Hvis du har brug for at ændre felttypen og navnet, kan du bruge MODIFY- eller CHANGE-sætningen i ALTER-kommandoen.
For at ændre typen af felt c fra CHAR(1) til CHAR(10), skal du udføre følgende kommando:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Med CHANGE-sætningen er syntaksen meget anderledes.Umiddelbart efter CHANGE nøgleordet er navnet på det felt, du vil ændre, og angiv derefter det nye feltnavn og type.Prøv følgende eksempel:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Effekt af ALTER TABLE på nul- og standardværdier
Når du ændrer et felt, kan du angive, om der kun skal medtages, eller om der skal angives en standardværdi.
Følgende eksempel angiver, at felt j IKKE er NULL, og standardværdien er 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Hvis du ikke angiver en standardværdi, vil MySQL automatisk indstille feltet til NULL som standard.
Rediger feltstandardværdi
Du kan bruge ALTER til at ændre standardværdien for et felt, prøv følgende eksempler:
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)
Du kan også bruge ALTER-kommandoen med DROP-sætningen til at fjerne standardværdien af et felt, som i følgende eksempel:
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:
Ændring af datatabeltypen kan udføres ved hjælp af ALTER-kommandoen og TYPE-udtrykket.Prøv følgende eksempel, hvor vi ændrer typen af tabellen testalter_tbl til MYISAM:
Note:For at se datatabeltypen kan du bruge SHOW TABLE STATUS-sætningen.
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)
Rediger tabelnavn
Hvis du har brug for at ændre navnet på datatabellen, kan du bruge RENAME-udtrykket i ALTER TABLE-sætningen til at gøre det.
Prøv følgende eksempel for at omdøbe datatabellen testalter_tbl til alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
ALTER-kommandoen kan også bruges til at oprette og slette indekser på MySQL-datatabeller, som vi vil introducere i de næste kapitler.
ændre andre anvendelser
Rediger lagermotoren: Rediger den til myisam
alter table tableName engine=myisam;
Fjern fremmednøglebegrænsning: keyName er et fremmednøglealias
alter table tableName drop foreign key keyName;
Den relative placering af det ændrede felt: her er navn1 det felt, du vil ændre, type1 er den oprindelige type af feltet, og du kan vælge en af først og efter, som skal være tydeligt, først placeres først, og efter er placeres efter navn2-feltet
alter table tableName modify name1 type1 first|after name2;
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) delte "MySQL ændre tilføje for at øge flere feltpositioner? Detaljeret forklaring af brugen af Rediger kolonneerklæringen" er nyttig for dig.
Velkommen til at dele linket til denne artikel:https://www.chenweiliang.com/cwl-495.html
Velkommen til Telegram-kanalen på Chen Weiliangs blog for at få de seneste opdateringer!
📚 Denne guide indeholder enorm værdi, 🌟Dette er en sjælden mulighed, gå ikke glip af det! ⏰⌛💨
Del og like hvis du har lyst!
Din deling og likes er vores kontinuerlige motivation!