An bhfuil fonn ort MySQL a athrú chun suíomhanna iolracha a mhéadú? Míniú mionsonraithe ar úsáid an ráitis cholúin mhodhnú

MySQL athrú add chun suímh réimse iolracha a chur leis? Míniú mionsonraithe ar úsáid an ráitis cholúin mhodhnú

MySQL ALTER ordú

Nuair is gá dúinn ainm an tábla sonraí a mhodhnú nó na réimsí tábla sonraí a mhodhnú, ní mór dúinn an t-ordú MySQL ALTER a úsáid.

Sula dtosaíonn tú ar an rang teagaisc seo, lig dúinn tábla darb ainm: testalter_tbl a chruthú ar dtús.

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)

Scrios, cuir leis nó modhnaigh réimsí tábla

Úsáideann an t-ordú seo a leanas an clásal ordú ALTER agus DROP chun an réimse i den tábla a cruthaíodh thuas a scriosadh:

mysql> ALTER TABLE testalter_tbl  DROP i;

Mura bhfuil ach réimse amháin fágtha sa tábla sonraí, ní féidir DROP a úsáid chun an réimse a scriosadh.

Úsáidtear an clásal ADD i MySQL chun colúin a chur leis an tábla sonraí. Cuireann an sampla seo a leanas an réimse i leis an tábla testalter_tbl agus sainmhíníonn sé an cineál sonraí:

mysql> ALTER TABLE testalter_tbl ADD i INT;

Tar éis an t-ordú thuas a fhorghníomhú, cuirfear an réimse i go huathoibríoch go dtí deireadh réimse an tábla sonraí.

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)

Más gá duit suíomh an réimse nua a shonrú, is féidir leat an eochairfhocal CHÉAD (socraighSuíomhAn chéad cholún), TAR ÉIS ainm réimse (a leagtar tar éis réimse áirithe).

Bain triail as an ráiteas ALTER TABLE seo a leanas, agus tar éis é a fheidhmiú go rathúil, bain úsáid as COLÚNANNA TAISPEÁINT chun athruithe ar struchtúr an tábla a fheiceáil:

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;

Ní úsáidtear na heochairfhocail CHÉAD agus AFTER ach amháin sa chlásal ADD, mar sin más mian leat suíomh réimse tábla sonraí a athshocrú, ní mór duit DROP a úsáid ar dtús chun an réimse a scriosadh agus ansin ADD a úsáid chun an réimse a chur leis agus an seasamh a shocrú.


Athraigh cineál agus ainm an réimse

Más gá duit an cineál agus an t-ainm réimse a mhodhnú, is féidir leat an clásal MODIFY or CHANGE a úsáid san ordú ALTER.

Mar shampla, chun an cineál réimse c a athrú ó CHAR(1) go CHAR(10), is féidir leat an t-ordú seo a leanas a rith:

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

Leis an gclásal ATHRÚ, tá an chomhréir an-difriúil. Tar éis an eochairfhocal CHANGE, lean an t-ainm réimse is mian leat a mhodhnú, agus ansin sonraigh an t-ainm réimse nua agus cineál. Bain triail as an sampla seo a leanas:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

Éifeachtaí ALTER TABLE ar luachanna Null agus luachanna réamhshocraithe

Nuair a mhodhnóidh tú réimse, is féidir leat a shonrú cé acu ar cheart é a áireamh nó ar cheart luach réamhshocraithe a shocrú.

Sa sampla seo a leanas, NÍL NÍL an réimse sonraithe j agus is é 100 an luach réamhshocraithe.

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

Mura socraíonn tú luach réamhshocraithe, socróidh MySQL an réimse go NULL go huathoibríoch de réir réamhshocraithe.


Athraigh luach réamhshocraithe an réimse

Is féidir leat ALTER a úsáid chun luach réamhshocraithe réimse a mhodhnú. Bain triail as an sampla seo a leanas:

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)

Is féidir leat an clásal ordú ALTER agus DROP a úsáid freisin chun luach réamhshocraithe réimse a scriosadh, mar a thaispeántar sa sampla seo a leanas:

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:

Chun an cineál tábla sonraí a mhodhnú, is féidir leat an t-ordú ALTER agus an clásal CINEÁL a úsáid. Bain triail as an sampla seo a leanas, athraíonn muid an cineál tábla testalter_tbl go MYISAM:

Tabhair faoi deara:Chun an cineál tábla sonraí a fheiceáil, is féidir leat an ráiteas STÁDAS TAISPEÁINT TÁBLA a úsáid.

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)

Athraigh ainm tábla

Más gá duit ainm an tábla sonraí a mhodhnú, is féidir leat an clásal ATHAINMnigh sa ráiteas ALTER TABLE a úsáid.

Bain triail as an sampla seo a leanas chun an tábla sonraí testalter_tbl a athainmniú go alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

Is féidir an t-ordú ALTER a úsáid freisin chun innéacsanna a chruthú agus a scriosadh ar tháblaí sonraí MySQL.Tabharfaimid isteach an fheidhm seo sa chéad chaibidil eile.

úsáidí eile a athrú

Athraigh an t-inneall stórála: modhnaigh go miasam é

alter table tableName engine=myisam;

Scrios srianta eochracha: is ailias eochrach choigríche é keyName

alter table tableName drop foreign key keyName;

Athraigh suíomh coibhneasta an réimse: anseo ainm1 an réimse is mian leat a mhodhnú, is é type1 an cineál bunaidh den réimse, roghnaigh ceann de na chéad agus tar éis, ba chóir go mbeadh sé seo soiléir, cuirtear ar dtús é ar dtús, agus tar éis é a chur i ndiaidh an ainm2 réimse

alter table tableName modify name1 type1 first|after name2;

Tá súil agam Blag Chen Weiliang ( https://www.chenweiliang.com/ ) shared "MySQL alter add to add to add multiple field positions?" Beidh míniú mionsonraithe ar úsáid an ráitis cholúin mionathraithe" ina chuidiú duit.

Fáilte romhat nasc an ailt seo a roinnt:https://www.chenweiliang.com/cwl-495.html

Fáilte chuig cainéal Telegram de bhlag Chen Weiliang chun na nuashonruithe is déanaí a fháil!

🔔 Bí ar an gcéad duine a gheobhaidh an "Treoir Úsáide Uirlisí AI Margaíochta Ábhair ChatGPT" luachmhar san eolaire barr na gcainéal! 🌟
📚 Tá luach ollmhór sa treoir seo, 🌟 Seo deis annamh, ná caill é! ⏰⌛💨
Roinnigí agus más maith libh!
Is iad do chomhroinnt agus do thaitin ár spreagadh leanúnach!

 

发表 评论

Ní fhoilseofar do sheoladh ríomhphoist. Úsáidtear réimsí riachtanacha * Lipéad

scrollaigh go dtí an barr