MySQL ændre tilføje for at øge flere feltpositioner? Detaljeret forklaring af brugen af ​​modify column statement

MySQL ændre tilføje for at øge flere feltpositioner? Detaljeret forklaring af brugen af ​​modify column statement

MySQL ALTER kommando

Når vi skal ændre datatabelnavnet eller ændre datatabelfelterne, skal vi bruge MySQL ALTER-kommandoen.

Før du starter denne vejledning, lad os oprette en tabel med navnet: 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)

Slet, tilføj eller rediger tabelfelter

Følgende kommando bruger ALTER-kommandoen med DROP-sætningen til at slette i-kolonnen i tabellen oprettet ovenfor:

mysql> ALTER TABLE testalter_tbl  DROP i;

DROP kan ikke bruges til at slette et felt, hvis der kun er ét felt tilbage i datatabellen.

ADD-sætningen bruges i MySQL til at tilføje kolonner til datatabellen. Følgende eksempel tilføjer i-feltet til tabellen testalter_tbl og definerer datatypen:

mysql> ALTER TABLE testalter_tbl ADD i INT;

Efter at have udført ovenstående kommando, tilføjes i-feltet automatisk til slutningen af ​​datatabelfelterne.

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)

Hvis du har brug for at angive placeringen af ​​det nye felt, kan du bruge søgeordet FIRST leveret af MySQL (setPositioneringførste kolonne), EFTER feltnavn (sat efter et felt).

Prøv følgende ALTER TABLE-sætning, og efter vellykket udførelse skal du bruge SHOW COLUMNS til at se ændringerne i tabelstrukturen:

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;

FIRST og AFTER nøgleordene bruges kun i ADD klausulen, så hvis du vil nulstille positionen af ​​et datatabelfelt, skal du bruge DROP til at fjerne feltet og derefter ADD for at tilføje feltet og indstille positionen.


Rediger felttype og navn

Hvis du har brug for at ændre felttypen og navnet, kan du bruge MODIFY- eller CHANGE-sætningen i ALTER-kommandoen.

For at ændre typen af ​​felt c fra CHAR(1) til CHAR(10), skal du udføre følgende kommando:

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

Med CHANGE-sætningen er syntaksen meget anderledes.Umiddelbart efter CHANGE nøgleordet er navnet på det felt, du vil ændre, og angiv derefter det nye feltnavn og type.Prøv følgende eksempel:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

Effekt af ALTER TABLE på nul- og standardværdier

Når du ændrer et felt, kan du angive, om der kun skal medtages, eller om der skal angives en standardværdi.

Følgende eksempel angiver, at felt j IKKE er NULL, og standardværdien er 100.

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

Hvis du ikke angiver en standardværdi, vil MySQL automatisk indstille feltet til NULL som standard.


Rediger feltstandardværdi

Du kan bruge ALTER til at ændre standardværdien for et felt, prøv følgende eksempler:

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)

Du kan også bruge ALTER-kommandoen med DROP-sætningen til at fjerne standardværdien af ​​et felt, som i følgende eksempel:

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:

Ændring af datatabeltypen kan udføres ved hjælp af ALTER-kommandoen og TYPE-udtrykket.Prøv følgende eksempel, hvor vi ændrer typen af ​​tabellen testalter_tbl til MYISAM:

Note:For at se datatabeltypen kan du bruge SHOW TABLE STATUS-sætningen.

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)

Rediger tabelnavn

Hvis du har brug for at ændre navnet på datatabellen, kan du bruge RENAME-udtrykket i ALTER TABLE-sætningen til at gøre det.

Prøv følgende eksempel for at omdøbe datatabellen testalter_tbl til alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

ALTER-kommandoen kan også bruges til at oprette og slette indekser på MySQL-datatabeller, som vi vil introducere i de næste kapitler.

ændre andre anvendelser

Rediger lagermotoren: Rediger den til myisam

alter table tableName engine=myisam;

Fjern fremmednøglebegrænsning: keyName er et fremmednøglealias

alter table tableName drop foreign key keyName;

Den relative placering af det ændrede felt: her er navn1 det felt, du vil ændre, type1 er den oprindelige type af feltet, og du kan vælge en af ​​først og efter, som skal være tydeligt, først placeres først, og efter er placeres efter navn2-feltet

alter table tableName modify name1 type1 first|after name2;

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) delte "MySQL ændre tilføje for at øge flere feltpositioner? Detaljeret forklaring af brugen af ​​Rediger kolonneerklæringen" er nyttig for dig.

Velkommen til at dele linket til denne artikel:https://www.chenweiliang.com/cwl-495.html

Velkommen til Telegram-kanalen på Chen Weiliangs blog for at få de seneste opdateringer!

🔔 Vær den første til at få den værdifulde "ChatGPT Content Marketing AI Tool Usage Guide" i kanalens øverste bibliotek! 🌟
📚 Denne guide indeholder enorm værdi, 🌟Dette er en sjælden mulighed, gå ikke glip af det! ⏰⌛💨
Del og like hvis du har lyst!
Din deling og likes er vores kontinuerlige motivation!

 

发表 评论

Din e-mail-adresse vil ikke blive offentliggjort. 必填 项 已 用 * 标注

scroll til toppen