Director articol
MySQL alter add pentru a mări mai multe poziții de câmp? Explicație detaliată a utilizării instrucțiunii de modificare a coloanei
MySQL Comanda ALTER
Când trebuie să modificăm numele tabelului de date sau să modificăm câmpurile tabelului de date, trebuie să folosim comanda MySQL ALTER.
Înainte de a începe acest tutorial, să creăm un tabel numit: 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)
Ștergeți, adăugați sau modificați câmpurile din tabel
Următoarea comandă folosește comanda ALTER cu clauza DROP pentru a elimina coloana i a tabelului creat mai sus:
mysql> ALTER TABLE testalter_tbl DROP i;
DROP nu poate fi folosit pentru a șterge un câmp dacă mai există un singur câmp în tabelul de date.
Clauza ADD este folosită în MySQL pentru a adăuga coloane la tabelul de date. Următorul exemplu adaugă câmpul i la tabelul testalter_tbl și definește tipul de date:
mysql> ALTER TABLE testalter_tbl ADD i INT;
După executarea comenzii de mai sus, câmpul i este adăugat automat la sfârșitul câmpurilor tabelului de date.
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)
Dacă trebuie să specificați locația noului câmp, puteți utiliza cuvântul cheie FIRST furnizat de MySQL (setpoziţieprima coloană), AFTER numele câmpului (setat după un câmp).
Încercați următoarea instrucțiune ALTER TABLE și, după executarea cu succes, utilizați SHOW COLUMNS pentru a vedea modificările din structura tabelului:
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;
Cuvintele cheie FIRST și AFTER sunt folosite doar în clauza ADD, așa că dacă doriți să resetați poziția unui câmp de tabel de date, trebuie să utilizați DROP pentru a șterge câmpul și apoi folosiți ADD pentru a adăuga câmpul și a seta poziția.
Modificați tipul și numele câmpului
Dacă trebuie să modificați tipul și numele câmpului, puteți utiliza clauza MODIFY sau CHANGE din comanda ALTER.
De exemplu, pentru a schimba tipul câmpului c de la CHAR(1) la CHAR(10), executați următoarea comandă:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Cu clauza CHANGE, sintaxa este foarte diferită.Imediat după cuvântul cheie CHANGE este numele câmpului pe care doriți să îl modificați, apoi specificați noul nume și tipul câmpului.Încercați următorul exemplu:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Efectul ALTER TABLE asupra valorilor nule și implicite
Când modificați un câmp, puteți specifica dacă să includeți numai sau dacă să setați o valoare implicită.
Următorul exemplu specifică că câmpul j NU este NULL și valoarea implicită este 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Dacă nu setați o valoare implicită, MySQL va seta automat câmpul la NULL în mod implicit.
Modificați valoarea implicită a câmpului
Puteți folosi ALTER pentru a modifica valoarea implicită a unui câmp, încercați următoarele exemple:
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)
De asemenea, puteți utiliza comanda ALTER cu clauza DROP pentru a elimina valoarea implicită a unui câmp, ca în exemplul următor:
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:
Modificarea tipului tabelului de date se poate face folosind comanda ALTER și clauza TYPE.Încercați următorul exemplu, în care schimbăm tipul tabelului testalter_tbl în MYISAM:
Notă:Pentru a vizualiza tipul tabelului de date, puteți utiliza instrucțiunea 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)
Modificați numele tabelului
Dacă trebuie să modificați numele tabelului de date, puteți utiliza clauza RENAME din instrucțiunea ALTER TABLE pentru a face acest lucru.
Încercați următorul exemplu pentru a redenumi tabelul de date testalter_tbl în alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Comanda ALTER poate fi folosită și pentru a crea și șterge indecși pe tabelele de date MySQL, pe care îi vom prezenta în capitolele următoare.
modificarea altor utilizări
Modificați motorul de stocare: modificați-l în myisam
alter table tableName engine=myisam;
Eliminați constrângerea cheii străine: keyName este un alias de cheie străină
alter table tableName drop foreign key keyName;
Poziția relativă a câmpului modificat: aici nume1 este câmpul pe care doriți să îl modificați, tipul1 este tipul original al câmpului și puteți alege unul dintre primul și după, care ar trebui să fie evident, primul este plasat primul și după este plasat după câmpul nume2
alter table tableName modify name1 type1 first|after name2;
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared „MySQL alter add pentru a crește mai multe poziții de câmp? Explicația detaliată a utilizării instrucțiunii de modificare a coloanei" vă este utilă.
Bine ați venit să distribuiți linkul acestui articol:https://www.chenweiliang.com/cwl-495.html
Bun venit pe canalul Telegram al blogului lui Chen Weiliang pentru a primi cele mai recente actualizări!
📚 Acest ghid conține o valoare uriașă, 🌟Aceasta este o oportunitate rară, nu o ratați! ⏰⌛💨
Distribuie si da like daca iti place!
Partajarea și like-urile tale sunt motivația noastră continuă!