Indici utilizând MySQL WorkBench
În primul rând, porniți MySQL Workbench și conectați-l la baza de date rădăcină.
Vom crea un nou tabel „contacte” în baza de date „date” cu coloane diferite în el. Avem o cheie primară și o coloană cheie UNICĂ în acest tabel, e.g. id și e-mail. Aici, trebuie să clarificați că nu este nevoie să creați indici pentru coloanele cheie UNIQUE și PRIMARY. Baza de date creează automat indexurile pentru ambele tipuri de coloane. Deci, vom face index „telefon” pentru coloana „telefon” și index „nume” pentru coloanele „primul_nume” și „ultimul nume”. Executați interogarea folosind pictograma flash de pe bara de activități.
Puteți vedea din rezultat că tabelul și indexurile au fost create.
Acum, navigați către bara de schemă. În lista „Tabeluri” puteți găsi tabelul nou creat.
Să încercăm comanda SHOW INDEXES pentru a verifica indexurile pentru acest tabel particular așa cum se arată mai jos în zona de interogare folosind semnul flash.
Această fereastră va apărea simultan. Puteți vedea o coloană „Key_name” care arată că cheia aparține fiecărei coloane. Pe măsură ce am creat indexul „telefon” și „nume”, apare și el. Puteți vedea celelalte informații relevante referitoare la indici e.g., secvența indexului pentru o anumită coloană, tip de index, vizibilitate etc.
Indexuri care utilizează Shell de linie de comandă MySQL
Deschideți shell-ul clientului din linia de comandă MySQL de pe computer. Introduceți parola MySQL pentru a începe să utilizați.
Exemplul 01
Să presupunem că avem un tabel „ordine1” în schema „ordine” cu unele coloane având valori așa cum este ilustrat în imagine. Folosind comanda SELECT, trebuie să preluăm înregistrările „order1”.
Deoarece nu am definit încă niciun index pentru tabelul „ordine1”, este imposibil de ghicit. Deci vom încerca comanda SHOW INDEXES sau SHOW KEYS pentru a verifica indexurile după cum urmează:
>> AFIȘAȚI CHEILE DIN datele order1 IN;Puteți percepe că tabelul „ordine1” are doar 1 coloană cheie primară din ieșirea de mai jos. Acest lucru înseamnă că nu există încă indici definiți, de aceea afișează numai înregistrări pe 1 rând pentru coloana cheii primare „id”.
Să verificăm indexurile pentru orice coloană din tabelul „ordine1” unde vizibilitatea este dezactivată așa cum se arată mai jos.
>> AFIȘAȚI INDICELE din date.order1 WHERE VISIBLE = 'NU';
Acum vom crea niște indexuri UNIQUE pe tabelul „order1”. Am numit acest INDEX UNIC ca „rec” și l-am aplicat celor 4 coloane: id, Regiune, Stare și Ordin nr. Încercați comanda de mai jos pentru a face acest lucru.
>> CREAȚI UNIQUE INDEX rec ON date.order1 (id, Regiune, Stare, OrderNu);
Acum să vedem rezultatul creării indexurilor pentru tabelul respectiv. Rezultatul este dat mai jos după utilizarea comenzii SHOW INDEXES. Avem o listă a tuturor indexurilor create, având aceleași nume „rec” pentru fiecare coloană.
>> AFIȘAȚI INDICELE din datele de comandă1 ÎN;
Exemplul 02
Să presupunem un nou tabel „student” în baza de date „date” cu câmpuri cu patru coloane care au unele înregistrări. Obțineți datele din acest tabel folosind interogarea SELECT, după cum urmează:
Să preluăm mai întâi indexurile coloanei cheii primare încercând comanda SHOW INDEXES de mai jos.
>> AFIȘAȚI INDICELE din date.student WHERE Key_name = 'PRIMARY';Puteți vedea că va afișa înregistrarea indexului pentru singura coloană cu tipul „PRIMARY” datorită clauzei WHERE folosită în interogare.
Să creăm un index unic și unul unic pe diferitele coloane „student” ale tabelului. Mai întâi vom crea indexul UNIQUE „std” pe coloana „Nume” a tabelului „student” utilizând comanda CREATE INDEX de pe shell-ul clientului din linia de comandă după cum urmează.
>> CREAȚI UNIQUE INDEX std ON date.numele studentului );
Să creăm sau să adăugăm un index non-unic în coloana „Subiect” a tabelului „student” în timp ce utilizăm comanda ALTER. Da, am folosit comanda ALTER deoarece este utilizată pentru a modifica tabelul. Așa că am modificat tabelul adăugând indexuri în coloane. Deci, haideți să încercăm interogarea ALTER TABLE de mai jos în shell-ul din linia de comandă, adăugăm indexul „stdSub” la coloana „Subiect”.
>> ALTER TABLE data.student ADAUGĂ INDICE stdSub (Subiect);
Acum, este rândul să verificați indexurile nou adăugate pe tabelul „student” și coloanele sale „Nume” și „Subiect”. Încercați comanda de mai jos pentru a o verifica.
>> AFIȘAȚI INDICELE din date.student;Din ieșire, puteți vedea că interogările au atribuit indexul non-unic coloanei „Subiect” și indexul unic coloanei „Nume”. Puteți vedea și numele indexurilor.
Să încercăm comanda DROP INDEX pentru a renunța la indexul „stdSub” din tabelul „student”.
>> DROP INDEX stdSub ON date.student;
Să vedem indexurile rămase, folosind aceeași instrucțiune SHOW INDEX ca mai jos. Am rămas acum cu singurele două indexuri rămase în tabelul „student” conform rezultatului de mai jos.
>> AFIȘAȚI INDICELE din date.student;
Concluzie
În cele din urmă, am făcut toate exemplele necesare despre cum să creăm indici unici și non-unici, să afișăm sau să verificăm indexuri și să scăpăm indexurile pentru tabelul respectiv.