MariaDB/Mysql临时表
临时表在我们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。
因为临时表只有当前连接可以参考,故同一个用户的不同连接、不同用户,可以在同一时间创建同名的临时表,进行操作的时候各自操作自己创建的,但是同一连接不可以创建同名临时表。
创建临时表:
mysql> CREATE TEMPORARY TABLE SalesSummary ( -> product_name VARCHAR(50) NOT NULL -> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00 -> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00 -> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0 );
删除临时表:
当断开与数据库的连接后,临时表就会自动被销毁。当然也可以在当前MySQL会话使用 DROP TABLE 命令来手动删除临时
DROP TABLE SalesSummary;
将查询结果放到临时表中:
1)将test1表中a字段为0的数据的a、b、c三列放到临时表temporaryTB1中:
create temporary table temporaryTB1 select a,b,c from test1 where a = 0;