MariaDB 临时表

MariaDB 临时表

某些操作由于速度或一次性数据而受益于临时表。临时表的生命周期在会话终止时结束,无论您是在命令提示符下使用它们,还是通过PHP脚本或客户端程序使用它们。它也不会以典型的方式出现在系统中。SHOW TABLES命令不会显示包含临时表的列表。

创建临时表

在CREATE TABLE语句中使用TEMPORARY关键字生成临时表。请查看下面的示例:

mysql>CREATE TEMPORARY TABLE order (
   item_name VARCHAR(50) NOT NULL
   , price DECIMAL(7,2) NOT NULL DEFAULT 0.00
   , quantity INT UNSIGNED NOT NULL DEFAULT 0
);

在创建临时表时,您可以使用LIKE子句克隆现有的表,即克隆它们的所有常规特性。用于生成临时表的CREATE TABLE语句不会因TEMPORARY关键字而提交事务。

尽管临时表是独立于非临时表的,并在会话结束时被删除,但它们可能会出现某些冲突−

  • 它们有时会与已过期会话的幽灵临时表发生冲突。

  • 它们有时会与非临时表的阴影名称发生冲突。

注意 − 临时表可以和现有的非临时表同名,因为MariaDB将其视为不同的引用。

管理

在MariaDB中,需要为用户赋予创建临时表的权限。使用GRANT语句将此权限授予非管理员用户。

GRANT CREATE TEMPORARY TABLES ON orders TO 'machine122'@'localhost';

删除临时表

尽管临时表本质上会在会话结束时被删除,但您可以选择删除它们。删除临时表需要使用TEMPORARY关键字,并且最佳实践建议在删除任何非临时表之前先删除临时表。

mysql> DROP TABLE order;

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程