Latest web development tutorials

MySQL temporäre Tabellen

MySQL temporäre Tabellen benötigen wir einige temporäre Daten zu speichern ist sehr nützlich. Die temporäre Tabelle ist sichtbar in der aktuellen Verbindung, wenn die Verbindung geschlossen wird, Mysql wird automatisch die Tabelle zu löschen und lassen den ganzen Raum.

Temporäre Tabellen in MySQL-Version 3.23 hinzugefügt wird, wenn Sie Ihre MySQL-Version älter als Version 3.23 keine temporären Tabellen MySQL verwenden können. Aber jetzt gibt es eine andere selten eine so niedrige Version der MySQL-Datenbank-Server verwenden.

MySQL temporäre Tabellen nur sichtbar in der aktuellen Verbindung, wenn Sie PHP MySQL-Skript verwenden, um eine temporäre Tabelle zu erstellen, dann, wenn die PHP-Script-Ausführung tat abgeschlossen ist, wird die temporäre Tabelle wird automatisch zerstört.

Wenn Sie andere MySQL-Client-Programm verwenden MySQL-Datenbank-Server zu verbinden, eine temporäre Tabelle zu erstellen, dann nur, wenn Sie das Client-Programm schließen wird die temporäre Tabelle, natürlich zerstören, können Sie auch manuell zerstört.

Beispiele

Die folgende Abbildung zeigt ein einfaches Beispiel für die Verwendung von MySQL temporäre Tabelle, die folgende SQL-Code kann auf das PHP-Skript mysql_query angewendet werden () Funktion.

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)

Wenn Sie SHOW TABLES Befehl verwenden , um eine Liste der Datentabelle angezeigt werden , werden Sie SalesSummary Tabelle nicht sehen.

Wenn Sie die aktuelle MySQL - Sitzung zu beenden, verwenden Sie dann die SELECT - Befehl die Daten ursprünglich erstellte temporäre Tabelle zu lesen, dann werden Sie feststellen , dass die Datenbank nicht in der Tabelle nicht vorhanden ist , denn wenn man die temporäre Tabelle verlassen wurde zerstört.


Löschen MySQL temporäre Tabellen

In der Standardeinstellung, wenn Sie die Verbindung zur Datenbank zu trennen, wird die temporäre Tabelle automatisch zerstört werden. Natürlich können Sie auch die temporäre Tabelle mit DROP TABLE - Befehl in der aktuellen MySQL - Sitzung manuell löschen.

Hier finden Sie manuell die temporäre Tabelle Beispiel zu löschen:

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