MySQL modifică adăugarea pentru a crește mai multe poziții de câmp? Explicație detaliată a utilizării instrucțiunii de modificare a coloanei

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!

🔔 Fii primul care primește valorosul „Ghid de utilizare a instrumentului AI pentru marketing de conținut ChatGPT” în directorul de top al canalului! 🌟
📚 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ă!

 

发表 评论

Adresa ta de email nu va fi publicată. Sunt utilizate câmpurile obligatorii * Eticheta

derulați în sus