În acest articol, vom învăța cum să creați un tabel temp și scădea din aceste tabele. Tabelele temporare sunt tabele specifice sesiunii care sunt create în cadrul sesiunii. Când sesiunea se închide, masa este abandonată de la sine. Un tabel temporar există doar în cadrul unei sesiuni; prin urmare, un tabel creat de o sesiune nu este vizibil pentru o altă sesiune. De exemplu, ID-ul sesiunii 501 a creat un tabel temporar, apoi ID-ul sesiunii 502 nu îl poate accesa sau manipula., Două sesiuni diferite pot avea un tabel temporar cu același nume.
tabelele temporare sunt utile atunci când doriți să utilizați un subset mic al tabelului mare și este utilizat de mai multe ori într-o procedură stocată. În astfel de cazuri, în loc să aplicați filtrul pe masă de mai multe ori, puteți salva subsetul tabelelor mari într-un tabel temporar și îl puteți utiliza într-o procedură stocată.,
fapte Importante din tabele temporare:
- MySQL tabel Temporar are o decuplate relație cu schema bazei de date, ceea ce înseamnă că, atunci când renunțăm la baza de date MySQL, nu neapărat fixați temporar tabele în baza de date
- InnoDB motor de baze de date nu are suport comprimat, tabel temporar. Dacă ați activat parametrul InnoDB_strict_mode, atunci va returna o eroare., Dacă ați dezactivat InnoDB_strict_mode parametru, MySQL va emite un avertisment și de a crea un tabel cu un non-comprimat rând format
- Pentru a crea un tabel temporar în proceduri stocate, utilizatorul trebuie să aibă crea tabel temporar privilegiu. După ce este acordat, actualizarea, ștergerea sau inserarea datelor în tabelul temporar nu necesită privilegii speciale. Există o implicare a acestui comportament. Să presupunem că procedura stocată care utilizează un tabel temporar și un utilizator 1 care a dezvoltat procedura are privilegiul Creare tabel temporar., Acum, utilizatorul 2 încearcă să-l execute, dar nu are permisiunea de creare a tabelului temporar. În astfel de cazuri, MySQL folosește privilegiile utilizatorului 1 pentru a crea tabelul temporar. Odată ce procedura se finalizează cu succes, privilegiile vor fi inversate
- nu puteți crea un tabel temporar bazat pe definiția pe care o are deja tabelul și se află pe MySQL tablespace, un tablespace general sau InnoDB tablespace., Pentru a crea un tabel temporar pe baza definiției de la o altă masă, trebuie să utilizați următoarea sintaxă
1Selectați tabel temporar.., select * from
- spre Deosebire de regulate crea tabelul declarații, de a Crea tabele temporare declarație nu produce implicit comite
- tabel temporar pot avea același nume ca și MySQL regulate de masă. De exemplu, chiar dacă un tabel numit Angajat există în baza de date, puteți crea un tabel temporar numit angajat în baza de date. În astfel de cazuri, tabelul MySQL devine inaccesibil. Odată ce masa temporară este abandonată, masa fizică poate fi accesată din nou.,/div>
1234567creați un tabel temporar tblemployee(Column_1 de date,Column_2 de date,Column_3 de date,…)
după cum puteți vedea, sintaxa pentru a crea tabelul temporar este aceeași cu sintaxa creării unui tabel MySQL., Singura diferență este că trebuie să specificați cuvântul cheie temporar între cuvintele cheie create și table. Acest lucru este foarte important, deoarece dacă uitați să adăugați cuvântul cheie, Creează un tabel MySQL obișnuit.acum, să ne plimbăm prin câteva exemple ale tabelului temporar., Am de gând să demonstreze următoarele cazuri de utilizare:
- de a Crea un tabel temp și introduce date în tabel
- de a Crea un tabel temp folosind ieșirea de select
- Scadea temp masă
- de a Crea un tabel temp folosind structura de o altă masă
de a Crea un tabel temp și introduce date
Pentru a crea un nou tabel temp numit tblemployee pe baza de date MySQL, executați următoarea interogare:
Executați următoarea interogare pentru a introduce date în tabel temp.,
odată ce datele sunt inserate în tabelul temp, executați următoarea interogare pentru a verifica dacă datele au fost inserate.
1
|
Selectați * de la tblemployee;
|
este următoarea ieșire:
Acum, pentru a verifica dacă domeniul de aplicare al tblemployee masă, lasă-ne să facem aceeași interogare de la MySQL de linie de comandă client., id=”22c41ae375″>
1
2
|
Utilizarea sakila;
Select * from tblemployee;
|
Ieșire: după cum puteți vedea, de interogare a dat o eroare:
de a Crea un tabel temp folosind ieșirea de select
să Presupunem că doriți să creați un tabel temp folosind ieșirea din interogare de selectare., De exemplu, Vreau să introduc detaliile tabelului filme cu categoria sa într-un tabel temp numit temp_film_details. Pentru a face acest lucru, executați următoarea interogare.
odată ce detaliile sunt inserate în tabelul temp, executați următoarea interogare pentru a vizualiza datele tabelului temp., id=”2a48234df2″>
1
|
Drop tabel temporar tbl_film_details
|
după Cum am menționat faptul că pe o bază de date un tabel temporar și o InnoDB masă pot avea același nume, astfel încât asigurați-vă că specificați temporară de cuvinte cheie; în caz contrar, dacă un tabel cu aceeași va fi scăzut
Sumar
În acest articol, am învățat despre MySQL temp mese, și caracteristicile de ea., De asemenea, am învățat cum am putea crea și arunca un tabel temp cu diferite cazuri de utilizare., Crea și de a scadea temp tabele
Invata MySQL: Șterge și Actualiza Declarațiile
Invata MySQL: elementele de Bază ale MySQL Proceduri Stocate
Invata MySQL: Elementele de Bază ale MySQL Vedere
- Autor
- Mesajele Recente
are expertiză în proiectarea bazelor de date, tuning de performanță, backup și recuperare, configurare HA și DR, migrări de baze de date și upgrade-uri. El a absolvit B. Tech de la Universitatea Ganpat. El poate fi contactat pe nisargupadhyay87@outlook.,com
- Invata MySQL: elementele de Bază ale MySQL Vedere – 3 februarie 2021
- Invata MySQL: elementele de Bază ale MySQL Proceduri Stocate – ianuarie 8, 2021
- T-SQL script-uri pentru a actualiza statisticile bazate pe rând modificare pe 24 decembrie, în 2020,
Leave a Reply