Article Directory
MySQL alter add za povećanje višestrukih pozicija u polju? Detaljno objašnjenje upotrebe izraza modificiraj stupac
MySQL ALTER komanda
Kada trebamo izmijeniti naziv tablice podataka ili izmijeniti polja tablice podataka, trebamo koristiti MySQL ALTER naredbu.
Prije nego započnemo ovaj vodič, napravimo tablicu pod nazivom: 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)
Izbrišite, dodajte ili izmijenite polja tablice
Sljedeća naredba koristi naredbu ALTER s klauzulom DROP za ispuštanje i stupca gore kreirane tablice:
mysql> ALTER TABLE testalter_tbl DROP i;
DROP se ne može koristiti za brisanje polja ako je u tablici podataka ostalo samo jedno polje.
Klauzula ADD se koristi u MySQL-u za dodavanje stupaca u tablicu podataka. Sljedeći primjer dodaje polje i u tablicu testalter_tbl i definira tip podataka:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Nakon izvršenja gornje naredbe, i polje se automatski dodaje na kraj polja tablice podataka.
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)
Ako trebate navesti lokaciju novog polja, možete koristiti ključnu riječ FIRST koju pruža MySQL (setPozicioniranjeprva kolona), AFTER naziv polja (postavlja se nakon polja).
Isprobajte sljedeću naredbu ALTER TABLE i nakon uspješnog izvršenja koristite SHOW COLUMNS da vidite promjene u strukturi tablice:
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čne riječi FIRST i AFTER se koriste samo u klauzuli ADD, tako da ako želite resetirati poziciju polja tabele podataka, trebate koristiti DROP da uklonite polje, a zatim ADD da dodate polje i postavite poziciju.
Izmijenite tip polja i naziv
Ako trebate izmijeniti tip i ime polja, možete koristiti klauzulu MODIFY ili CHANGE u naredbi ALTER.
Na primjer, da promijenite tip polja c iz CHAR(1) u CHAR(10), izvršite sljedeću naredbu:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Sa klauzulom CHANGE, sintaksa je veoma različita.Odmah iza ključne riječi CHANGE nalazi se naziv polja koje želite izmijeniti, a zatim navedite novo ime i tip polja.Pokušajte sljedeći primjer:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Utjecaj ALTER TABLE na nulte i zadane vrijednosti
Kada izmijenite polje, možete odrediti da li ćete uključiti samo ili postaviti zadanu vrijednost.
Sljedeći primjer navodi da polje j NIJE NULL, a zadana vrijednost je 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Ako ne postavite zadanu vrijednost, MySQL će automatski postaviti polje na NULL po defaultu.
Izmijenite zadanu vrijednost polja
Možete koristiti ALTER da promijenite zadanu vrijednost polja, isprobajte sljedeće primjere:
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)
Također možete koristiti naredbu ALTER s klauzulom DROP da uklonite zadanu vrijednost polja, kao u sljedećem primjeru:
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:
Promjena tipa tablice podataka može se obaviti korištenjem naredbe ALTER i klauzule TYPE.Isprobajte sljedeći primjer, gdje mijenjamo tip tabele testalter_tbl u MYISAM:
Napomena:Za pregled tipa tablice podataka, možete koristiti naredbu 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)
Izmijenite naziv tabele
Ako trebate izmijeniti ime tablice podataka, možete koristiti klauzulu RENAME u izrazu ALTER TABLE da to učinite.
Pokušajte sljedeći primjer da preimenujete tablicu podataka testalter_tbl u alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Naredba ALTER se također može koristiti za kreiranje i brisanje indeksa na MySQL tablicama podataka, što ćemo uvesti u sljedećim poglavljima.
promijenite druge namjene
Izmijenite mehanizam za pohranu: modificirajte ga u myisam
alter table tableName engine=myisam;
Uklonite ograničenje stranog ključa: ime ključa je alias stranog ključa
alter table tableName drop foreign key keyName;
Relativni položaj izmijenjenog polja: ovdje je ime1 polje koje želite izmijeniti, tip1 je originalni tip polja, a možete odabrati jedan od prvog i poslije, što bi trebalo biti očigledno, prvo se postavlja prvo, a poslije je postavljeno iza polja name2
alter table tableName modify name1 type1 first|after name2;
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "MySQL alter add to povećanje višestrukih pozicija polja? Detaljno objašnjenje upotrebe naredbe Modify Column" je od pomoći.
Dobrodošli da podijelite link ovog članka:https://www.chenweiliang.com/cwl-495.html
