MySQL临时表创建

来源: 2024-07-06 09:27:54 播报

临时表将在你连接MySQL期间存在。当你断开时,MySQL将自动删除表并释放所用的空间。当然你可以在仍然连接的时候删除表并释放空间。

创建临时表有以下两种方式:

一、PHP脚本创建临时表

使用PHP脚本来创建MySQL临时表,那每当PHP脚本执行完成后,该临时表也会自动销毁。

二、MySQL语句创建临时表

使用MySQL语句创建临时表,关闭客户端程序时才会销毁临时表。

创建临时表与创建普通表一致,只要给正常的CREATE TABLE语句加上TEMPORARY关键字。

格式:

CREATE TEMPORARY TABLE tmp_table (
    name VARCHAR(10) NOT NULL,
    value INTEGER NOT NULL
    )

示例:

mysql> CREATE TEMPORARY TABLE tmp_article (
    -> id INT(11) NOT NULL,
    -> title VARCHAR(10) NOT NULL,
    -> author INTEGER NOT NULL
    -> );
    Query OK, 0 rows affected (0.05 sec)

1、临时表字段查询和普通表样可以通过以下语句查询

格式:

desc 表名称;

show columns from 表名称;

describe 表名称;

查询后的结果是

show columns from tmp_article;?
     -------- ------------- ------ ----- --------- ------- 
    | Field  | Type        | Null | Key | Default | Extra |
     -------- ------------- ------ ----- --------- ------- 
    | id     | int(11)     | NO   |     | NULL    |       |
    | title  | varchar(10) | NO   |     | NULL    |       |
    | author | int(11)     | NO   |     | NULL    |       |
     -------- ------------- ------ ----- --------- ------- 
    3 rows in set (0.00 sec)
mysql> desc tmp_article;
     -------- ------------- ------ ----- --------- ------- 
    | Field  | Type        | Null | Key | Default | Extra |
     -------- ------------- ------ ----- --------- ------- 
    | id     | int(11)     | NO   |     | NULL    |       |
    | title  | varchar(10) | NO   |     | NULL    |       |
    | author | int(11)     | NO   |     | NULL    |       |
     -------- ------------- ------ ----- --------- ------- 
    3 rows in set (0.00 sec)
mysql> describe tmp_article;
     -------- ------------- ------ ----- --------- ------- 
    | Field  | Type        | Null | Key | Default | Extra |
     -------- ------------- ------ ----- --------- ------- 
    | id     | int(11)     | NO   |     | NULL    |       |
    | title  | varchar(10) | NO   |     | NULL    |       |
    | author | int(11)     | NO   |     | NULL    |       |
     -------- ------------- ------ ----- --------- ------- 
    3 rows in set (0.00 sec)

2、临时表结构查看和普通表也是样的可以通过查看表结构语句查看

格式:

show create table 表名称;

示例:

mysql> show create table tmp_article;
     ------------- -----------------------------------------------------------------
    --------------------------------------------------------------------------------
    ----------------- 
    | Table       | Create Table
    |
     ------------- -----------------------------------------------------------------
    --------------------------------------------------------------------------------
    ----------------- 
    | tmp_article | CREATE TEMPORARY TABLE `tmp_article` (
    `id` int(11) NOT NULL,
    `title` varchar(10) NOT NULL,
    `author` int(11) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
     ------------- -----------------------------------------------------------------
    --------------------------------------------------------------------------------
    ----------------- 
    1 row in set (0.00 sec)