MySQL endre legge til for å øke flere feltposisjoner? Detaljert forklaring på bruken av modify column statement

MySQL endre legg til for å øke flere feltposisjoner? Detaljert forklaring på bruken av modify column statement

MySQL ALTER-kommandoen

Når vi trenger å endre datatabellnavnet eller endre datatabellfeltene, må vi bruke MySQL ALTER-kommandoen.

Før du starter denne opplæringen, la oss lage en tabell 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)

Slett, legg til eller endre tabellfelt

Følgende kommando bruker ALTER-kommandoen med DROP-leddet for å slippe i-kolonnen i tabellen opprettet ovenfor:

mysql> ALTER TABLE testalter_tbl  DROP i;

DROP kan ikke brukes til å slette et felt hvis det bare er ett felt igjen i datatabellen.

ADD-leddet brukes i MySQL for å legge til kolonner i datatabellen. Følgende eksempel legger til i-feltet til tabellen testalter_tbl og definerer datatypen:

mysql> ALTER TABLE testalter_tbl ADD i INT;

Etter å ha utført kommandoen ovenfor, legges i-feltet automatisk til på slutten av datatabellfeltene.

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 trenger å spesifisere plasseringen av det nye feltet, kan du bruke nøkkelordet FIRST levert av MySQL (settPosisjoneringførste kolonne), ETTER feltnavn (sett etter et felt).

Prøv følgende ALTER TABLE-setning, og etter vellykket kjøring, bruk SHOW COLUMNS for å se endringene i tabellstrukturen:

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økkelordene brukes bare i ADD-leddet, så hvis du vil tilbakestille posisjonen til et datatabellfelt må du bruke DROP for å fjerne feltet og deretter ADD for å legge til feltet og angi posisjonen.


Endre felttype og navn

Hvis du trenger å endre felttypen og navnet, kan du bruke MODIFY eller CHANGE-leddet i ALTER-kommandoen.

For å endre typen felt c fra CHAR(1) til CHAR(10), kjør følgende kommando:

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

Med CHANGE-klausulen er syntaksen veldig forskjellig.Umiddelbart etter CHANGE nøkkelordet er navnet på feltet du vil endre, og spesifiser deretter det nye feltnavnet og typen.Prøv følgende eksempel:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

Effekt av ALTER TABLE på null- og standardverdier

Når du endrer et felt, kan du spesifisere om du bare skal inkludere eller om du vil angi en standardverdi.

Følgende eksempel spesifiserer at felt j IKKE er NULL og standardverdien er 100.

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

Hvis du ikke angir en standardverdi, vil MySQL automatisk sette feltet til NULL som standard.


Endre feltets standardverdi

Du kan bruke ALTER for å endre standardverdien til 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å bruke ALTER-kommandoen med DROP-leddet for å fjerne standardverdien til 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:

Endre datatabelltypen kan gjøres ved å bruke ALTER-kommandoen og TYPE-leddet.Prøv følgende eksempel, der vi endrer typen av tabellen testalter_tbl til MYISAM:

Merk:For å vise datatabelltypen kan du bruke SHOW TABLE STATUS-setningen.

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)

Endre tabellnavnet

Hvis du trenger å endre navnet på datatabellen, kan du bruke RENAME-leddet i ALTER TABLE-setningen for å gjøre det.

Prøv følgende eksempel for å gi nytt navn til datatabellen testalter_tbl til alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

ALTER-kommandoen kan også brukes til å opprette og slette indekser på MySQL-datatabeller, som vi vil introdusere i de neste kapitlene.

endre annen bruk

Endre lagringsmotoren: endre den til myisam

alter table tableName engine=myisam;

Fjern fremmednøkkelbegrensning: keyName er et fremmednøkkelalias

alter table tableName drop foreign key keyName;

Den relative plasseringen av det modifiserte feltet: her er navn1 feltet du vil endre, type1 er den opprinnelige typen av feltet, og du kan velge en av først og etter, som skal være tydelig, først plasseres først, og etter er plassert etter navn2-feltet

alter table tableName modify name1 type1 first|after name2;

Hope Chen Weiliang blogg ( https://www.chenweiliang.com/ ) delte "MySQL endre legge til for å øke flere feltposisjoner? Detaljert forklaring av bruken av endringskolonneerklæringen" er nyttig for deg.

Velkommen til å dele lenken til denne artikkelen:https://www.chenweiliang.com/cwl-495.html

Velkommen til Telegram-kanalen til Chen Weiliangs blogg for å få de siste oppdateringene!

🔔 Vær den første til å få den verdifulle "ChatGPT Content Marketing AI Tool Usage Guide" i kanalens toppkatalog! 🌟
📚 Denne guiden inneholder enorm verdi, 🌟Dette er en sjelden mulighet, ikke gå glipp av den! ⏰⌛💨
Del og lik om du vil!
Din deling og likes er vår kontinuerlige motivasjon!

 

发表 评论

E-postadressen din vil ikke offentliggjøres. 必填 项 已 用 * Merkelapp

bla til toppen