Ключ, которым пользуются, всегда блестит (Б. Франклин).

Как создать временную таблицу в MySQL

26.08.2021
Как создать временную таблицу в MySQL

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

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

В этой статье мы быстро обсудим, как создать и использовать временную таблицу MySQL.

[gn_box title=»Примечание» box_color=»#fff08c» title_color=»#000000″]Поддержка временных таблиц MySQL начинается с версии сервера MySQL 3.2 и выше. Если вы используете старую версию, у вас может не быть доступа к определенным функциям.[/gn_box]

 

Как создать временную таблицу?

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

Однако вам необходимо указать ключевое слово TEMPORARY в инструкции. Мы можем выразить запрос как:

CREATE TEMPORARY TABLE table_name (
Columns,
table_constraints
);

 

Вы можете указать любое имя таблицы, если оно не конфликтует с основной таблицей.

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

 

Читать  Что такое безопасный режим UPDATE в MySQL

Пример 1

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

Начните с входа в сеанс MySQL:

mysql -u root -p

 

После входа в систему создайте образец базы данных:

CREATE DATABASE IF NOT EXISTS temp_db;

 

На следующем шаге измените базу данных и создайте временную таблицу с помощью запроса:

USE temp_db;
CREATE TEMPORARY TABLE temp_tb (id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(100) NOT NULL, email VARCHAR(255));

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

Например, используйте запросы ниже, чтобы вставить образцы данных в созданный выше temp_tb:

INSERT INTO temp_tb (username, email)
VALUES ('andr', 'info@sample.db'),
('db_user', 'dev@mysql.db'),
('max1', 'maxi@info.com');

Когда у вас есть данные, вы можете выбирать из них значения с помощью обычного оператора SQL SELECT:

SELECT * FROM temp_tb;
+----+----------+----------------+
| id | username | email          |
+----+----------+----------------+
|  1 | andr     | info@sample.db |
|  2 | db_user  | dev@mysql.db   |
|  3 | max1     | maxi@info.com  |
+----+----------+----------------+
3 rows in set (0.00 sec)



Пример 2

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

Рассмотрим образец базы данных andreyex. Мы можем создать временную таблицу на основе таблицы клиентов, используя запрос:

USE andreyex;

Открыв базу данных, используем запрос ниже:

CREATE TEMPORARY TABLE customer_temp SELECT * FROM customer LIMIT 0;

 

После успешного выполнения запроса вы можете убедиться, что таблицы содержат аналогичную информацию, используя оператор DESC.

 

Как переименовать временную таблицу?

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

Читать  MySQL 8.0. Security - поддержка двух паролей

Для этого вы можете использовать запрос ALTER TABLE.

Например, чтобы переименовать временную таблицу из customer_temp в cust_temp; мы можем использовать запрос:

ALTER TABLE customer_temp RENAME cust_temp;

Как удалить временную таблицу?

Чтобы удалить временную таблицу, используйте оператор DROP TEMPORARY TABLE. Использование ключевых слов TEMPORARY гарантирует, что вы случайно не уроните обычную таблицу.

DROP TEMPORARY TABLE cust_temp;

Заключение

Временная таблица MySQL позволяет вам временно хранить информацию для одного пользовательского сеанса. Ниже приведены свойства временных таблиц MySQL:

  1. Мы создаем их, задав ключевые слова TEMPORARY.
  2. Они не существуют вне одного пользовательского сеанса.
  3. Они нестабильны и удаляются после завершения сеанса пользователя.
  4. Они работают аналогично обычной таблице MySQL.
  5. Они могут иметь имена, похожие на имена основной таблицы (не рекомендуется).
  6. Две таблицы в рамках одного пользовательского сеанса не могут содержать одинаковое имя.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Scroll to Top