MySQL alter pievienot, lai palielinātu vairākas lauka pozīcijas? Detalizēts paskaidrojums par kolonnas modifikācijas priekšraksta izmantošanu

MySQL mainīt pievienot, lai palielinātu vairākas lauka pozīcijas? Detalizēts paskaidrojums par kolonnas modifikācijas priekšraksta izmantošanu

MySQL ALTER komanda

Ja mums ir jāmaina datu tabulas nosaukums vai jāmaina datu tabulas lauki, mums ir jāizmanto komanda MySQL ALTER.

Pirms šīs apmācības sākšanas izveidosim tabulu ar nosaukumu: 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)

Dzēst, pievienot vai mainīt tabulas laukus

Šī komanda izmanto komandu ALTER ar klauzulu DROP, lai nomestu iepriekš izveidotās tabulas kolonnu i:

mysql> ALTER TABLE testalter_tbl  DROP i;

DROP nevar izmantot lauka dzēšanai, ja datu tabulā ir palicis tikai viens lauks.

ADD klauzula tiek izmantota MySQL, lai pievienotu kolonnas datu tabulai. Tālāk sniegtajā piemērā tabulai testalter_tbl tiek pievienots lauks i un tiek definēts datu tips:

mysql> ALTER TABLE testalter_tbl ADD i INT;

Pēc iepriekš minētās komandas izpildes lauks i automātiski tiek pievienots datu tabulas lauku beigās.

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)

Ja nepieciešams norādīt jaunā lauka atrašanās vietu, varat izmantot MySQL nodrošināto atslēgvārdu FIRST (setPozicionēšanapirmā kolonna), PĒC lauka nosaukuma (iestatīts aiz lauka).

Izmēģiniet šo ALTER TABLE priekšrakstu un pēc veiksmīgas izpildes izmantojiet SHOW COLUMNS, lai skatītu tabulas struktūras izmaiņas:

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;

Atslēgvārdi FIRST un AFTER tiek izmantoti tikai klauzulā ADD, tādēļ, ja vēlaties atiestatīt datu tabulas lauka pozīciju, vispirms izmantojiet DROP, lai dzēstu lauku, un pēc tam izmantojiet ADD, lai pievienotu lauku un iestatītu pozīciju.


Mainiet lauka veidu un nosaukumu

Ja jums ir jāmaina lauka veids un nosaukums, varat izmantot MODIFY vai CHANGE klauzulu komandā ALTER.

Piemēram, lai mainītu lauka c veidu no CHAR(1) uz CHAR(10), izpildiet šādu komandu:

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);

Izmantojot klauzulu CHANGE, sintakse ir ļoti atšķirīga.Tūlīt pēc atslēgvārda MAINĪT ir tā lauka nosaukums, kuru vēlaties modificēt, un pēc tam norādiet jauno lauka nosaukumu un veidu.Izmēģiniet šādu piemēru:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

ALTER TABLE ietekme uz nulles un noklusējuma vērtībām

Mainot lauku, varat norādīt, vai iekļaut tikai vai iestatīt noklusējuma vērtību.

Nākamajā piemērā ir norādīts, ka lauks j NAV NULL un noklusējuma vērtība ir 100.

mysql> ALTER TABLE testalter_tbl 
    -> MODIFY j BIGINT NOT NULL DEFAULT 100;

Ja neiestatīsit noklusējuma vērtību, MySQL pēc noklusējuma automātiski iestatīs lauku uz NULL.


Mainiet lauka noklusējuma vērtību

Varat izmantot ALTER, lai mainītu lauka noklusējuma vērtību, izmēģiniet šādus piemērus:

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)

Varat arī izmantot komandu ALTER ar klauzulu DROP, lai noņemtu lauka noklusējuma vērtību, kā parādīts šajā piemērā:

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:

Datu tabulas tipa modifikāciju var veikt, izmantojot komandu ALTER un klauzulu TYPE.Izmēģiniet šādu piemēru, kur mēs mainām tabulas testalter_tbl veidu uz MYISAM:

Piezīme:Lai skatītu datu tabulas veidu, varat izmantot priekšrakstu 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)

Mainiet tabulas nosaukumu

Ja jums ir jāmaina datu tabulas nosaukums, varat izmantot RENAME klauzulu priekšrakstā ALTER TABLE.

Izmēģiniet šo piemēru, lai pārdēvētu datu tabulu testalter_tbl par alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

Ar komandu ALTER var izveidot un dzēst indeksus MySQL datu tabulās, ar kurām mēs iepazīstināsim nākamajās nodaļās.

mainīt citus lietojumus

Pārveidojiet krātuves programmu: mainiet to uz myisam

alter table tableName engine=myisam;

Noņemiet ārējās atslēgas ierobežojumu: keyName ir ārējās atslēgas aizstājvārds

alter table tableName drop foreign key keyName;

Modificētā lauka relatīvā pozīcija: šeit nosaukums1 ir modificējamais lauks, tips1 ir lauka sākotnējais tips, var atlasīt pirmais un pēc tam, kam jābūt acīmredzamam, pirmais tiek novietots vispirms, un pēc ir ievietots pēc nosaukuma2 lauks

alter table tableName modify name1 type1 first|after name2;

Hope Chen Weiliang emuārs ( https://www.chenweiliang.com/ ) koplietots "MySQL alter pievienot, lai palielinātu vairākas lauka pozīcijas? Sīki izstrādāts paskaidrojums par paziņojuma Modificēt kolonnu lietošanu” jums noder.

Laipni lūdzam kopīgot šī raksta saiti:https://www.chenweiliang.com/cwl-495.html

Lai atklātu vairāk slēptu triku🔑, pievienojieties mūsu Telegram kanālam!

Dalies un patīk, ja patīk! Jūsu akcijas un atzīmes Patīk ir mūsu pastāvīga motivācija!

 

发表 评论

Jūsu e-pasta adrese netiks publicēta. 必填 项 已 用 * Etiķete

Rakstu katalogs
Ritiniet uz augšu