MySQL-i muutmine, et suurendada mitut põllupositsiooni? Üksikasjalik selgitus veeru muutmise avalduse kasutamise kohta

Kuidas lisada mitu välja MySQL-i käsuga `ALTER ALTER ADD`? `MODIUS Column` käsu detailne selgitus.

MySQL ALTER käsk

Kui peame muutma andmetabeli nime või andmetabeli välju, peame kasutama MySQL ALTER käsku.

Enne selle õpetuse alustamist loome tabeli nimega: 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)

Kustutage, lisage või muutke tabelivälju

Järgmine käsk kasutab ülaltoodud tabeli veeru i eemaldamiseks käsku ALTER koos klausliga DROP:

mysql> ALTER TABLE testalter_tbl  DROP i;

DROP-i ei saa kasutada välja kustutamiseks, kui andmetabelis on alles vaid üks väli.

ADD-klauslit kasutatakse MySQL-is andmetabelisse veergude lisamiseks Järgmises näites lisatakse i-väli tabelisse testalter_tbl ja määratakse andmetüüp:

mysql> ALTER TABLE testalter_tbl ADD i INT;

Pärast ülaltoodud käsu täitmist lisatakse andmetabeli väljade lõppu automaatselt väli i.

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)

Uue välja positsiooni määramiseks võite kasutada MySQL-i pakutavaid märksõnu FIRST ( esimesele veerule määratud) ja AFTER field_name (määratud teatud välja järele) .

Proovige järgmist ALTER TABLE lauset ja pärast edukat täitmist kasutage tabeli struktuuri muudatuste vaatamiseks käsku SHOW COLUMNS:

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;

Märksõnu FIRST ja AFTER kasutatakse ainult klauslis ADD, nii et kui soovite andmetabeli välja asukohta lähtestada, peate esmalt välja kustutama DROP-i ja seejärel välja lisamiseks ja asukoha määramiseks kasutama ADD.


Muutke välja tüüpi ja nime

Kui teil on vaja muuta välja tüüpi ja nime, võite kasutada MODIFY või CHANGE klauslit käsus ALTER.

Näiteks välja c tüübi muutmiseks CHAR(1) asemel CHAR(10), täitke järgmine käsk:

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

CHANGE-klausli puhul on süntaks väga erinev.Vahetult pärast märksõna MUUDA on selle välja nimi, mida soovite muuta, ning seejärel määrake uus välja nimi ja tüüp.Proovige järgmist näidet.

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

ALTER TABLE mõju null- ja vaikeväärtustele

Välja muutmisel saate määrata, kas kaasata ainult või määrata vaikeväärtus.

Järgmine näide täpsustab, et väli j EI ole NULL ja vaikeväärtus on 100.

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

Kui te vaikeväärtust ei määra, määrab MySQL välja vaikimisi automaatselt NULL.


Muuda välja vaikeväärtust

Välja vaikeväärtuse muutmiseks saate kasutada klahvi ALTER, proovige järgmisi näiteid.

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)

Välja vaikeväärtuse eemaldamiseks saate kasutada ka käsku ALTER koos klausliga DROP, nagu järgmises näites:

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:

Andmetabeli tüüpi saab muuta käsu ALTER ja klausli TYPE abil.Proovige järgmist näidet, kus muudame tabeli testalter_tbl tüübiks MYISAM:

Märkus. Tabeli tüübi kontrollimiseks võite kasutada käsku 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)

Muutke tabeli nime

Kui teil on vaja muuta andmetabeli nime, saate selleks kasutada lauses ALTER TABLE olevat klauslit RENAME.

Proovige järgmist näidet andmetabeli testalter_tbl ümbernimetamiseks alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

Käsku ALTER saab kasutada ka MySQL-i tabelites indeksite loomiseks ja kustutamiseks, millest räägime järgmistes peatükkides.

muud kasutusotstarvet

Muutke salvestusmootorit: muutke see myisamiks

alter table tableName engine=myisam;

Eemaldage võõrvõtmepiirang: võtmenimi on võõrvõtme pseudonüüm

alter table tableName drop foreign key keyName;

Muudetud välja suhteline asukoht: siin nimi1 on muudetav väli, tüüp1 on välja algne tüüp, saab valida esimene ja pärast, mis peaksid olema ilmsed, esimene asetatakse esimeseks ja pärast asetatakse pärast nime2 valdkonnas

alter table tableName modify name1 type1 first|after name2;

发表 评论

您的邮箱地址不会被公开.必填项已用*标注

Leidke Top