English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве вы узнаете, как использовать SQL для создания временных таблиц.
Временные таблицы видны только в текущем сеансе и автоматически удаляются при закрытии сеанса, создающего таблицу.
Таким образом, поскольку временные таблицы не хранятся постоянно в базе данных, они очень полезны, если вам нужно кратковременно выполнять или тестировать某些 таблицы, после чего вы хотите, чтобы таблица автоматически исчезла.
Предложение CREATE TEMPORARY TABLE используется для создания временных таблиц.
CREATE TEMPORARY TABLE table_name (column definitions);
Если вы хотите создать временную таблицу с нуля, вы можете использовать ключевое слово TEMPORARY, то есть использовать CREATE TEMPORARY TABLE вместо CREATE TABLE предложения. Для полного синтаксиса и примеров см. в разделе “ Создание таблицыразделе.
Если вы хотите протестировать SQL-запросы, не затрагивая базу данных, временные таблицы могут быть очень полезны. Давайте вВMySQL базе данныхСоздание временной копии существующей таблицы.
ВMySQL командной строке введите следующие команды и нажмите Enter:
mysql> CREATE TEMPORARY TABLE persons SELECT * FROM persons;
В上面的语句从现有基表persons的结果集中动态创建一个名为persons的临时表。另外,由于它是persons表的临时副本,因此您可以执行INSERT,UPDATEилиDELETEВы можете выполнять любые операции, не беспокоясь о том, что вы случайно повлияете на исходную основную таблицу persons.
Совет:Временные таблицы могут иметь такое же имя, как и постоянные основные таблицы. Если имя指定的 временной таблицы совпадает с именем существующей основной таблицы, постоянная основная таблица будет скрыта до тех пор, пока не будет удалена временная таблица.
Внимание:Поскольку временные таблицы специфичны для сессии, две разных сессии могут использовать одинаковые имена временных таблиц, не конфликтуя друг с другом.
Временные таблицы автоматически удаляются после закрытия подключения или сессии, в которой они были созданы. Но, если нужно удалить их без закрытия текущей сессии, можно использовать следующее предложение DROP TEMPORARY TABLE:
mysql> DROP TEMPORARY TABLE persons;
Следующее предложение будет удалено изpersonsУдалить временные таблицы из базы данных. После этого, оригинальнаяpersonsОсновная таблица станет видимыми.