Eolaire Eolaire
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!
📚 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!