Imenik članaka
MySQL alter dodati za povećanje više pozicija polja? Detaljno objašnjenje korištenja naredbe modify column
MySQL naredba ALTER
Kada trebamo izmijeniti naziv podatkovne tablice ili izmijeniti polja podatkovne tablice, trebamo koristiti naredbu MySQL ALTER.
Prije nego što započnemo ovaj vodič, kreirajmo 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)
Brisanje, dodavanje ili izmjena polja tablice
Sljedeća naredba koristi naredbu ALTER s klauzulom DROP za ispuštanje stupca i tablice stvorene iznad:
mysql> ALTER TABLE testalter_tbl DROP i;
DROP se ne može koristiti za brisanje polja ako je u podatkovnoj tablici ostalo samo jedno polje.
Klauzula ADD koristi se u MySQL-u za dodavanje stupaca u podatkovnu tablicu. 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, polje i automatski se dodaje na kraj polja podatkovne tablice.
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 (setPozicioniranjeprvi stupac), AFTER naziv polja (postavljen nakon polja).
Isprobajte sljedeću naredbu ALTER TABLE i nakon uspješnog izvođenja upotrijebite 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 koriste se samo u klauzuli ADD, pa ako želite poništiti položaj polja podatkovne tablice, trebate koristiti DROP za brisanje polja, a zatim koristiti ADD za dodavanje polja i postavljanje položaja.
Izmijenite vrstu i naziv polja
Ako trebate izmijeniti vrstu i naziv polja, možete koristiti klauzulu MODIFY ili CHANGE u naredbi ALTER.
Na primjer, da biste promijenili vrstu polja c iz CHAR(1) u CHAR(10), izvršite sljedeću naredbu:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
S klauzulom CHANGE sintaksa je vrlo različita.Odmah nakon ključne riječi CHANGE nalazi se naziv polja koje želite izmijeniti, a zatim navedite novi naziv polja i vrstu.Pokušajte sa sljedećim primjerom:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Učinak ALTER TABLE na Null i zadane vrijednosti
Kada izmijenite polje, možete odrediti želite li samo uključiti ili želite postaviti zadanu vrijednost.
Sljedeći primjer specificira da polje j NIJE NULL i da je zadana vrijednost 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 prema zadanim postavkama.
Izmijenite zadanu vrijednost polja
Možete koristiti ALTER za promjenu zadane vrijednosti polja, pokušajte sa sljedećim primjerima:
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 za uklanjanje zadane vrijednosti 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:
Izmjena tipa podatkovne tablice može se izvršiti pomoću naredbe ALTER i klauzule TYPE.Pokušajte sa sljedećim primjerom, gdje mijenjamo tip tablice testalter_tbl u MYISAM:
Napomena:Za pregled tipa podatkovne tablice, 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 tablice
Ako trebate izmijeniti naziv podatkovne tablice, možete koristiti klauzulu RENAME u izjavi ALTER TABLE da to učinite.
Pokušajte sa sljedećim primjerom preimenovati podatkovnu tablicu testalter_tbl u alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Naredba ALTER također se može koristiti za kreiranje i brisanje indeksa na MySQL podatkovnim tablicama, što ćemo predstaviti u sljedećim poglavljima.
mijenjati druge namjene
Izmijenite mehanizam za pohranu: izmijenite ga u myisam
alter table tableName engine=myisam;
Uklonite ograničenje stranog ključa: keyName je alias stranog ključa
alter table tableName drop foreign key keyName;
Relativni položaj modificiranog polja: ovdje name1 je polje koje želite modificirati, type1 je izvorni tip polja, a možete odabrati jedan od first i after, što bi trebalo biti očito, first se stavlja na prvo mjesto, a after je postavljeno iza polja name2
alter table tableName modify name1 type1 first|after name2;
Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) shared "MySQL alter add za povećanje više pozicija polja? Detaljno objašnjenje upotrebe naredbe Modify Column" vam može pomoći.
Dobrodošli da podijelite vezu ovog članka:https://www.chenweiliang.com/cwl-495.html
Dobro došli na Telegram kanal Chen Weiliangovog bloga da dobijete najnovija ažuriranja!
📚 Ovaj vodič ima veliku vrijednost, 🌟 Ovo je rijetka prilika, nemojte je propustiti! ⏰⌛💨
Podijelite i lajkajte ako vam se sviđa!
Vaše dijeljenje i lajkovi naša su stalna motivacija!