MariaDB完整教程NO28-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关键字的结果提交事务。

虽然临时表在会话结束时与非临时表脱离,但它们可能有一定的冲突 – 

  • 他们有时会与过期会话中的ghost临时表冲突。

  • 它们有时与非临时表的影子名称冲突。

注意 – 临时表允许与现有非临时表具有相同的名称,因为MariaDB将其视为差异引用。

行政

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

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

删除临时表

虽然临时表基本上在会话结束时删除,您可以选择删除它们。 删除临时表需要使用TEMPORARY关键字,最佳实践建议在临时表之前删除临时表。

mysql> DROP TABLE order;

郑重声明:

1 本资源来源于互联网,资源的版权归资源原作者所持有,受《中华人民共和国著作权法》等相关法律保护。

2 由于无法和原作者取得联系,所以上传的部分资源无法先通过原作者的同意就分享给大家了,如本资源侵犯了您(原作者)的权益,请联系我们(微信号 xiaohaimei1989),我们会立马删除您的资源,并向您表达诚挚的歉意!

3 本站是一个公益型网站,分享资源的目的在于传播知识,分享知识,收取一点点打赏的辛苦费是用于网站的日常运营开支,并非用于商业用途。

4 本站资源只提供学习和参考研究使用,使用过后请在第一时间内删除。本站不承担资源被单位或个人商用带来的法律责任。

发表评论