Latest web development tutorials

MySQL tabele tymczasowe

MySQL tabele tymczasowe musimy zapisać niektóre dane tymczasowe jest bardzo przydatna. Tabela tymczasowa jest widoczny w bieżącym połączeniu, gdy połączenie jest zamykane, MySQL automatycznie usunie tabelę i zwolnić całą przestrzeń.

Tymczasowe tabele w MySQL w wersji 3.23 dodaje, jeśli wersja MySQL w wersji starszej niż 3.23 nie można używać tabel tymczasowych danych MySQL. Ale teraz nie ma innego rzadko korzystają z tak niską wersję serwera bazy danych MySQL.

MySQL tymczasowe tablice widoczne tylko w bieżącym połączeniu jeśli używasz skryptu PHP MySQL do tworzenia tabeli tymczasowej, a następnie, gdy zrobili wykonanie skryptu PHP jest kompletna, tabela tymczasowa jest automatycznie zniszczona.

Jeśli używasz innego programu klienta MySQL połączyć serwer bazy danych MySQL do tworzenia tabeli tymczasowej, a następnie dopiero po zamknięciu program kliencki zniszczy tabeli tymczasowej, oczywiście, można również ręcznie zniszczone.

Przykłady

Poniżej przedstawiono prosty przykład wykorzystania MySQL tabeli tymczasowej, następujący kod SQL może być zastosowana do skryptu PHP funkcji mysql_query ().

mysql> CREATE TEMPORARY TABLE SalesSummary (
    -> product_name VARCHAR(50) NOT NULL
    -> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00
    -> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00
    -> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO SalesSummary
    -> (product_name, total_sales, avg_unit_price, total_units_sold)
    -> VALUES
    -> ('cucumber', 100.25, 90, 2);

mysql> SELECT * FROM SalesSummary;
+--------------+-------------+----------------+------------------+
| product_name | total_sales | avg_unit_price | total_units_sold |
+--------------+-------------+----------------+------------------+
| cucumber     |      100.25 |          90.00 |                2 |
+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)

Podczas korzystania POKAŻ TABELE polecenie, aby wyświetlić listę tabeli danych, nie będzie widać SalesSummary tabeli.

Jeśli zakończysz bieżącą sesję MySQL, a następnie użyć polecenia SELECT, aby odczytać dane pierwotnie utworzone tabeli tymczasowej, a następnie okaże się, że baza danych nie istnieje w tabeli, ponieważ po wyjściu tymczasowa tabela została zniszczona.


Usuń MySQL tabel tymczasowych

Domyślnie, po odłączeniu połączenia z bazą danych, tabela tymczasowa zostanie automatycznie zniszczone. Oczywiście, można również ręcznie usunąć tymczasowej tabeli za pomocą polecenia DROP TABLE w bieżącej sesji MySQL.

Poniżej znajduje się ręcznie usunąć tabeli tymczasowej Przykład:

mysql> CREATE TEMPORARY TABLE SalesSummary (
    -> product_name VARCHAR(50) NOT NULL
    -> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00
    -> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00
    -> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO SalesSummary
    -> (product_name, total_sales, avg_unit_price, total_units_sold)
    -> VALUES
    -> ('cucumber', 100.25, 90, 2);

mysql> SELECT * FROM SalesSummary;
+--------------+-------------+----------------+------------------+
| product_name | total_sales | avg_unit_price | total_units_sold |
+--------------+-------------+----------------+------------------+
| cucumber     |      100.25 |          90.00 |                2 |
+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)
mysql> DROP TABLE SalesSummary;
mysql>  SELECT * FROM SalesSummary;
ERROR 1146: Table 'w3big.SalesSummary' doesn't exist