Latest web development tutorials

MySQL временные таблицы

MySQL временные таблицы нам нужно сохранить некоторые временные данные очень полезны. Временная таблица видна в текущем соединении, когда соединение закрывается, Mysql автоматически удалит таблицу и освободить все пространство.

Временные таблицы в MySQL версии 3.23 добавлена, если ваша версия MySQL ранее, чем версия 3.23 не может использовать временные таблицы MySQL. Но теперь есть еще один редко используют такую ​​низкую версию сервера баз данных MySQL.

MySQL временные таблицы видны только в текущем соединении, если вы используете PHP MySQL скрипт для создания временной таблицы, а затем, когда сделал выполнение PHP скрипт завершается, временная таблица автоматически уничтожается.

Если вы используете другую программу клиента MySQL для подключения к базе данных MySQL сервера, чтобы создать временную таблицу, то только тогда, когда вы закрываете клиентская программа уничтожит временную таблицу, конечно, вы можете также вручную уничтожены.

примеров

Ниже показан простой пример использования временной таблицы MySQL, следующий код SQL может быть применен к PHP скрипт 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)

При использовании SHOW TABLES команду для отображения списка таблицы данных, вы не увидите SalesSummary таблицу.

Если выйти из текущего сеанса MySQL, а затем использовать команду SELECT , чтобы прочитать данные , первоначально создали временную таблицу, то вы обнаружите , что база данных не существует в таблице, так как при выходе из временной таблицы была уничтожена.


Удаление временных таблиц MySQL

По умолчанию, если отключить соединение с базой данных, временная таблица будет автоматически уничтожена. Конечно, вы также можете вручную удалить временную таблицу , используя команду DROP TABLE в текущей сессии MySQL.

Ниже приводится вручную удалить временный Пример таблицы:

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