Поиск по сайту:
Нет ничего тягостнее сознания только что сделанной глупости (И.С. Тургенев).

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

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

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

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

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

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

 

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

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

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

CREATE TEMPORARY TABLE table_name (
Columns,
table_constraints
);

 

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

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

 

Пример 1

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

Читать  Запрос MySQL из SQL Server с использованием связанного сервера

Начните с входа в сеанс 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 для переименования временной таблицы.

Для этого вы можете использовать запрос 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. Две таблицы в рамках одного пользовательского сеанса не могут содержать одинаковое имя.

Читать  Как показать всех пользователей в MySQL

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

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


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

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


Рекомендуемое
С помощью сервиса речевой аналитики можно значительно увеличить прибыль компании.…

Спасибо!

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