Cineál innéacs bunachar sonraí MySQL/cruthaigh/úsáid teaglaim úsáid ráitis ALTER i MySQL

MySQLcineál innéacs/cruthaigh/úsáid teaglama a athrú iMySQLúsáid ráiteas ordaithe

Innéacsanna MySQL

Tá bunú innéacs MySQL an-tábhachtach d'oibriú éifeachtach MySQL, agus is féidir leis an innéacs luas aisghabhála MySQL a fheabhsú go mór.

Mar shampla, más Lamborghini é MySQL le dearadh réasúnta agus úsáid innéacsanna, ansin is trírothach daonna é MySQL gan innéacsanna agus innéacsanna.

Tá an t-innéacs roinnte ina innéacs aon-cholún agus innéacs ilchodach.Innéacs aon-cholún, is é sin, níl ach colún amháin in innéacs, is féidir le tábla iolraí innéacsanna colún a bheith ann, ach ní innéacs ilchodach é seo.Innéacs ilchodach, is é sin, tá innéacs colúin iolracha.

Agus innéacs á chruthú agat, ní mór duit a chinntiú gur coinníoll é an t-innéacs a bhaineann leis an gceist SQL (de ghnáth mar choinníoll den chlásal WHERE).

Go deimhin, is tábla é innéacs freisin a stórálann na príomhréimsí agus na príomhréimsí innéacs agus a dhíríonn ar thaifid an tábla aonáin.

Tá na daoine thuas ag caint faoi na buntáistí a bhaineann le húsáid innéacsanna, ach beidh mí-úsáid mar thoradh ar úsáid iomarcach innéacsanna.Dá bhrí sin, beidh a chuid easnaimh ag an innéacs freisin: cé go bhfeabhsaíonn an t-innéacs luas an cheist go mór, laghdóidh sé luas an tábla a nuashonrú, mar shampla INSERT, UPDATE and DELETE of the table.Toisc nuair a bhíonn an tábla á nuashonrú, ní hamháin go sábhálann MySQL na sonraí, ach sábhálann sé an comhad innéacs freisin.

Comhad innéacs a ídíonn spás diosca a innéacsú.


gnáth-innéacs

innéacs a chruthú

Is é seo an t-innéacs is bunúsaí, níl aon srianta air.Is féidir é a chruthú ar na bealaí seo a leanas:

CREATE INDEX indexName ON mytable(username(length)); 

I gcás cineálacha CHAR agus VARCHAR, is féidir an fad a bheith níos lú ná fad iarbhír na páirce; le haghaidh cineálacha BLOB agus TEXT, ní mór an fad a shonrú.

Athraigh struchtúr tábla (cuir innéacs leis)

ALTER table tableName ADD INDEX indexName(columnName)

Sonraigh go díreach nuair a chruthaíonn tú an tábla

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

Comhréir chun innéacs a ísliú

DROP INDEX [indexName] ON mytable; 

innéacs uathúil

Tá sé cosúil leis an ngnáthnós innéacs roimhe seo, is é an difríocht: ní mór luach an cholúin innéacs a bheith uathúil, ach ceadaítear luachanna null.I gcás innéacs ilchodach, ní mór an meascán de luachanna colún a bheith uathúil.Is féidir é a chruthú ar na bealaí seo a leanas:

innéacs a chruthú

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

Struchtúr tábla a mhodhnú

ALTER table mytable ADD UNIQUE [indexName] (username(length))

Sonraigh go díreach nuair a chruthaíonn tú an tábla

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);  

Cuir innéacsanna leis agus bain úsáid as an ordú ALTER

Tá ceithre bhealach ann chun innéacs a chur le tábla sonraí:

  • ALTER TABLE tbl_name ADD PRIMARY EOCHAIR (colún_liosta): Cuireann an ráiteas seo eochair phríomhúil leis, rud a chiallaíonn go gcaithfidh luachanna innéacs a bheith uathúil agus nach féidir a bheith NULLComment.
  • ALTER TABLE tbl_name ADD UNIQUE index_name (colún_liosta): Caithfidh luach an innéacs a chruthaítear leis an ráiteas seo a bheith uathúil (seachas NULLComment, féadfaidh NULL a bheith ann go minic).
  • ALTER TABLE tbl_name ADD INDEX index_name (colún_liosta): Cuir innéacs gnáth leis, is féidir leis an luach innéacs le feiceáil amanna éagsúla.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (colún_liosta):Sonraíonn an ráiteas an t-innéacs mar FULLTEXT le haghaidh innéacsú téacs iomlán.

Is é an sampla seo a leanas ná innéacs a chur le tábla.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Is féidir leat an clásal DROP a úsáid freisin ar an ordú ALTER chun innéacsanna a ísliú.Bain triail as an gcás seo a leanas chun an t-innéacs a scaoileadh:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Cuir leis agus bain úsáid as an ordú ALTER

Ní féidir leis an bpríomheochair ach gníomhú ar cholún amháin. Nuair a bheidh innéacs eochair phríomhúil á chur leis, ní mór duit a chinntiú nach bhfuil an phríomheochair NULLComment de réir réamhshocraithe (NACH NULL).Seo a leanas na samplaí:

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

Is féidir leat príomheochair a scriosadh leis an ordú ALTER freisin:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Ní gá duit ach an PRIMARY EOCHAIR a shonrú nuair a scaoiltear an eochair phríomhúil, ach nuair a bhíonn innéacs á scaoileadh agat, ní mór ainm an innéacs a bheith ar eolas agat.


faisnéis innéacs a thaispeáint

Is féidir leat an t-ordú SHOW INDEX a úsáid chun an fhaisnéis innéacs ábhartha a liostú sa tábla.Is féidir an fhaisnéis aschuir a fhormáidiú trí \G a chur leis.

Bain triail as na samplaí seo a leanas:

mysql> SHOW INDEX FROM table_name; \G
........

Tá súil agam Blag Chen Weiliang ( https://www.chenweiliang.com/ ) roinnte "Cineál Innéacs Bunachar Sonraí MySQL/Cruthaigh/Úsáid Teaglaim ALTER Ráitis Úsáide i MySQL", rud atá cabhrach duit.

Fáilte romhat nasc an ailt seo a roinnt:https://www.chenweiliang.com/cwl-496.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