Rodyklės naudojant „MySQL WorkBench“
Pirmiausia paleiskite „MySQL Workbench“ ir prijunkite jį prie šaknies duomenų bazės.
Duomenų bazėje „duomenys“ sukursime naują lentelę „kontaktai“, kurioje bus skirtingi stulpeliai. Šioje lentelėje turime vieną pagrindinį raktą ir vieną UNIKALUS raktų stulpelį, el.g. ID ir el. paštas. Čia turite paaiškinti, kad nereikia kurti raktų UNIKALUS ir PAGRINDINIS stulpelių indeksų. Duomenų bazė automatiškai sukuria abiejų tipų stulpelių indeksus. Taigi mes sukursime indekso „telefonas“ stulpelį „telefonas“ ir indekso „vardas“ stulpeliams „vardas_pavadinimas“ ir „pavardė“. Užpildykite užklausą naudodami „Flash“ piktogramą užduočių juostoje.
Iš Output galite pamatyti, kad lentelė ir rodyklės buvo sukurtos.
Dabar eikite link schemos juostos. „Lentelių“ sąraše galite rasti naujai sukurtą lentelę.
Pabandykime komandą RODYTI RODYKLES, norėdami patikrinti šios konkrečios lentelės indeksus, kaip parodyta žemiau užklausos srityje, naudodami „flash“ ženklą.
Šis langas pasirodys iškart. Galite pamatyti stulpelį „Key_name“, kuris rodo, kad raktas priklauso kiekvienam stulpeliui. Kadangi mes sukūrėme „telefono“ ir „vardo“ rodyklę, ji taip pat pasirodo. Galite pamatyti kitą susijusią informaciją apie indeksus e.g., tam tikro stulpelio indekso seka, indekso tipas, matomumas ir kt.
Indeksai naudojant „MySQL“ komandų eilutės apvalkalą
Kompiuteryje atidarykite „MySQL“ komandinės eilutės kliento apvalkalą. Norėdami pradėti naudoti, įveskite „MySQL“ slaptažodį.
01 pavyzdys
Tarkime, kad schemoje „order“ turime lentelę „order1“ su kai kuriais stulpeliais, kurių vertės yra tokios, kaip parodyta paveikslėlyje. Naudodami komandą „SELECT“ turime gauti „order1“ įrašus.
Kadangi mes dar neapibrėžėme lentelės „order1“ indeksų, neįmanoma atspėti. Taigi bandysime komandą RODYTI RODYKLES arba RODYTI RAKTUS, norėdami patikrinti indeksus taip:
>> RODYTI RAKTUS IŠ order1 IN duomenų;Galite suprasti, kad lentelėje „order1“ yra tik 1 pirminio rakto stulpelis iš žemiau pateiktos išvesties. Tai reiškia, kad dar nėra apibrėžtų indeksų, todėl jame rodomi tik 1 eilutės pirminio rakto stulpelio „id“ įrašai.
Patikrinkime bet kurio lentelės „order1“ stulpelio, kuriame matomumas išjungtas, rodykles, kaip parodyta žemiau.
>> RODYTI RODIKLIUS IŠ duomenų.order1 WHERE VISIBLE = 'NE';
Dabar mes sukursime keletą unikalių indeksų lentelėje „order1“. Mes pavadinome šį unikalų indeksą „rec“ ir pritaikėme jį 4 stulpeliuose: id, Region, Status ir OrderNo. Išbandykite žemiau pateiktą komandą.
>> SUKURKITE UNIKALŲ INDEKSŲ DALYKĄ.order1 (id, Region, Status, OrderNo);
Dabar pažiūrėkime konkrečios lentelės indeksų kūrimo rezultatą. Rezultatas pateikiamas žemiau, kai naudojama komanda RODYTI INDEKSUS. Mes turime visų sukurtų indeksų sąrašą, turėdami tuos pačius pavadinimus „rec“ kiekvienam stulpeliui.
>> RODYTI RODYKLES IŠ order1 IN duomenų;
02 pavyzdys
Tarkime, kad duomenų bazėje „duomenys“ yra nauja lentelė „studentas“ su keturių stulpelių laukais, turinčiais keletą įrašų. Gaukite duomenis iš šios lentelės naudodami užklausą SELECT taip:
Pirmiausia paimkime pagrindinio rakto stulpelių indeksus, bandydami žemiau esančią komandą RODYTI RODYKLES.
>> RODYTI RODIKLIUS IŠ duomenų.studentas WHERE Key_name = 'PAGRINDINIS';Matote, kad dėl užklausoje naudojamos sąlygos WHERE bus išvestas vienintelio stulpelio, kurio tipas yra „PRIMARY“, indekso įrašas.
Sukurkime vieną unikalų ir vieną unikalų indeksą skirtingose lentelės „studentų“ stulpeliuose. Pirmiausia lentelės „studentas“ stulpelyje „Vardas“ sukursime UNIKALŲ rodyklę „std“, naudodami komandų eilutės kliento apvalkalo komandą CREATE INDEX, kaip nurodyta toliau.
>> SUKURKITE UNIKALŲ INDEKSŲ standartinį DUOMENYS.studento vardas );
Naudodami komandą ALTER, lentelės „studentas“ stulpelyje „Tema“ sukurkime arba pridėkime unikalų indeksą. Taip, mes naudojome komandą ALTER, nes ji naudojama lentelei modifikuoti. Taigi mes modifikavome lentelę, įtraukdami indeksus į stulpelius. Taigi pabandykime žemiau pateiktą ALTER TABLE užklausą komandinės eilutės apvalkale, prie stulpelio „Subject“ pridėkite rodyklę „stdSub“.
>> ALTER TABLE duomenys.studentas PRIDĖTI INDEKSĄ stdSub (Subject);
Dabar atėjo eilė patikrinti naujai pridėtus indeksus lentelėje „studentas“ ir jos stulpeliuose „Vardas“ ir „Tema“. Išbandykite žemiau pateiktą komandą, kad patikrintumėte.
>> RODYTI RODIKLIUS IŠ duomenų.studentas;Išvestyje galite pamatyti, kad užklausos priskyrė ne unikalų indeksą stulpeliui „Tema“, o unikalų indeksą - stulpeliui „Vardas“. Taip pat galite pamatyti indeksų pavadinimus.
Pabandykime komandą DROP INDEX išmesti rodyklę „stdSub“ iš lentelės „studentas“.
>> DROP INDEX stdSub ON duomenys.studentas;
Leiskite pamatyti likusius indeksus, naudodami tą pačią SHOW INDEX instrukciją, kaip nurodyta toliau. Dabar mes palikome, o lentelėje „studentas“ liko tik du rodikliai, kaip nurodyta toliau pateiktame išvestyje.
>> RODYTI NUORODAS IŠ duomenų.studentas;
Išvada
Galiausiai, mes padarėme visus būtinus pavyzdžius, kaip sukurti unikalius ir ne unikalius indeksus, rodyti ar patikrinti indeksus ir mesti tam tikros lentelės indeksus.