w tym artykule dowiemy się, jak utworzyć tabelę tymczasową i dalej upuszczać te tabele. Tabele tymczasowe są tabelami specyficznymi dla sesji, które są tworzone w ramach sesji. Po zamknięciu sesji, stół jest upuszczany sam. Tabela tymczasowa istnieje tylko w ramach sesji, dlatego tabela utworzona przez jedną sesję nie jest widoczna dla innej sesji. Na przykład, Session id 501 utworzyło tabelę tymczasową, a następnie session ID 502 nie może uzyskać do niej dostępu ani nią manipulować., Dwie różne sesje mogą mieć tymczasową tabelę o tej samej nazwie.
tabele tymczasowe są przydatne, gdy chcesz użyć małego podzbioru dużej tabeli i są używane wiele razy w ramach procedury składowanej. W takich przypadkach, zamiast wielokrotnego stosowania filtra na tabeli, można zapisać podzbiór dużych tabel w tabeli tymczasowej i użyć go w ramach procedury składowanej.,
ważne fakty dotyczące tabel tymczasowych:
- tabela tymczasowa MySQL ma oddzielną relację ze schematem bazy danych, co oznacza, że gdy opuszczamy bazę danych MySQL, niekoniecznie upuszcza ona tabele tymczasowe w bazie danych
- silnik bazy danych InnoDB nie obsługuje skompresowanej tabeli tymczasowej. Jeśli włączyłeś parametr InnoDB_strict_mode, zwróci on błąd., Jeśli wyłączyłeś parametr InnoDB_strict_mode, MySQL wyda ostrzeżenie i utworzy tabelę o nieskompresowanym formacie wiersza
- aby utworzyć tabelę tymczasową w ramach procedury składowanej, użytkownik musi mieć uprawnienia create temporary table. Po jej przyznaniu aktualizacja, usunięcie lub wstawienie danych w tej tabeli tymczasowej nie wymaga żadnych specjalnych uprawnień. Jest jedna implikacja tego zachowania. Załóżmy, że procedura składowana, która używa tymczasowej tabeli i użytkownik 1, który opracował procedurę, ma uprawnienia create temporary table., Teraz użytkownik 2 próbuje go wykonać, ale nie ma uprawnień do tworzenia tymczasowej tabeli. W takich przypadkach MySQL używa uprawnień użytkownika 1 do tworzenia tymczasowej tabeli. Gdy procedura zakończy się pomyślnie, uprawnienia zostaną przywrócone
- nie można utworzyć tymczasowej tabeli opartej na definicji, którą tabela już posiada, i znajduje się ona w MySQL tablespace, a general tablespace, lub InnoDB tablespace., Aby utworzyć tymczasową tabelę opartą na definicji innej tabeli, należy użyć następującej składni
1wybierz tabelę tymczasową.., select * from
1
2
3
4
5
6
7
|
Utwórz tymczasową tabelę tblemployee
(
column_1 datatype,
column_2 datatype,
column_3 datatype,
div>
…
)
|
jak widać, składnia tworzenia tabeli tymczasowej jest taka sama jak składnia tworzenia tabeli MySQL., Jedyną różnicą jest to, że musisz określić tymczasowe słowo kluczowe między słowami kluczowymi create I table. Jest to bardzo ważne, ponieważ jeśli zapomnisz dodać słowo kluczowe, utworzy to zwykłą tabelę MySQL.
teraz przejdźmy przez kilka przykładów tabeli tymczasowej., Zademonstruję następujące przypadki użycia:
- Utwórz tabelę tymczasową i wstaw dane do tabeli
- Utwórz tabelę tymczasową używając wyjścia instrukcji select
- upuść tabelę tymczasową
- Utwórz tabelę tymczasową używając struktury innej tabeli
Utwórz tabelę tymczasową i wstaw dane
aby utworzyć nową tabelę tymczasową o nazwie tblemployee na serwerze.baza danych MySQL, wykonaj następujące zapytanie:
wykonaj następujące zapytanie, aby wstawić dane do tabeli tymczasowej.,
Po włożeniu danych do tabeli temp wykonaj następujące zapytanie, aby sprawdzić, czy dane zostały włożone.
1
|
select * from tblemployee;
|
poniżej znajduje się wyjście:
teraz, aby zweryfikować zakres tabeli tblemployee, uruchomimy to samo zapytanie z klienta linii poleceń MySQL., id=”22c41ae375″>
1
2
|
użyj sakila;
wybierz * z tblemployee;
|
output: jak widzisz, zapytanie wywołało błąd:
Utwórz tabelę tymczasową używając wyjścia instrukcji SELECT
Załóżmy, że chcę utworzyć tabelę tymczasową używając wyjścia zapytania select., Na przykład chcę wstawić szczegóły tabeli filmów z jej kategorią do tabeli tymczasowej o nazwie temp_film_details. Aby to zrobić, wykonaj następujące zapytanie.
po wstawieniu szczegółów do tabeli tymczasowej wykonaj następujące zapytanie, aby wyświetlić dane z tabeli tymczasowej., id=”2a48234df2″>
1
|
iv id
upuść tymczasową tabelę tbl_film_details
|
jak wspomniałem, w bazie danych tymczasowa tabela i tabela InnoDB mogą mieć tę samą nazwę, więc upewnij się, że podasz tymczasowe słowo kluczowe; w przeciwnym razie, jeśli tabela z tym samym zostaną usunięte
podsumowanie
w tym artykule dowiedzieliśmy się o tabelach temp MySQL i jego cechach., Dowiedzieliśmy się również, w jaki sposób możemy stworzyć i upuścić tabelę tymczasową z różnymi przypadkami użycia., Tworzenie i upuszczanie tabel temp
Nauka MySQL: usuwanie i aktualizowanie poleceń
Nauka MySQL: podstawy procedur składowanych MySQL
Nauka MySQL: podstawy widoków MySQL
- Autor
- ostatnie posty
posiada doświadczenie w projektowaniu baz danych, dostrajaniu wydajności, tworzeniu kopii zapasowych i odzyskiwaniu, konfiguracji HA i DR, migracjach i aktualizacjach baz danych. Ukończył B. Tech Na Ganpat University. Można go uzyskać na nisargupadhyay87 @ outlook.,com
- dowiedz się MySQL: podstawy MySQL przechowywane procedury – 8 stycznia 2021
- skrypty T – SQL do aktualizacji statystyk na podstawie modyfikacji wiersza-24 grudnia 2020
Leave a Reply