文章永久连接:https://tech.souyunku.com/4925
在 MySQSL CREATE TEMPORARY TABLE 创建临时表 中我们学习了 MySQL 临时表的特性和如何创建临时表
临时表只在当前连接可见,当关闭连接时,MySQL 会自动删除表并释放所有空间
但有时候我们可能需要手动删除临时表,比如持久性连接中,我们就要用完即删除
删除临时表和删除普通表的 SQL 语法时一模一样的,都是 DROP TABLE tablename
比如要删除临时表 tbl_language_tmp
则可以使用下面的语句
DROP TABLE tbl_language_tmp;
演示
我们先使用下面的语句创建一个临时表 tbl_language_temp
CREATE TEMPORARY TABLE IF NOT EXISTS `tbl_language_tmp`(
`id` INT UNSIGNED AUTO_INCREMENT,
`name` VARCHAR(64) NOT NULL,
`url` VARCHAR(128) NOT NULL,
`founded_at` DATE,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
运行结果如下
MariaDB [souyunku]> CREATE TEMPORARY TABLE IF NOT EXISTS `tbl_language_tmp`(
-> `id` INT UNSIGNED AUTO_INCREMENT,
-> `name` VARCHAR(64) NOT NULL,
-> `url` VARCHAR(128) NOT NULL,
-> `founded_at` DATE,
-> PRIMARY KEY ( `id` )
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Query OK, 0 rows affected (0.01 sec)
可以使用下面的语句往 tbl_language_tmp
中插入数据
INSERT INTO `tbl_language_tmp` (`name`,`url`,`founded_at`) VALUES ('Python','https://tech.souyunku.com','1991-2-20');
运行结果如下
MariaDB [souyunku]> INSERT INTO `tbl_language_tmp` (`name`,`url`,`founded_at`) VALUES ('Python','https://tech.souyunku.com','1991-2-20');
Query OK, 1 row affected (0.00 sec)
可以使用 SELECT * FROM tbl_language_tmp;
查询表中的数据
MariaDB [souyunku]> SELECT * FROM tbl_language_tmp;
+----+--------+---------------------+------------+
| id | name | url | founded_at |
+----+--------+---------------------+------------+
| 1 | Python | https://tech.souyunku.com | 1991-02-20 |
+----+--------+---------------------+------------+
1 row in set (0.00 sec)
然后使用 DROP TABLE tbl_language_tmp;
MariaDB [souyunku]> DROP TABLE tbl_language_tmp;
Query OK, 0 rows affected (0.00 sec)
在使用 SELECT * FROM tbl_language_tmp;
查询表中的数据
MariaDB [souyunku]> SELECT * FROM tbl_language_tmp;
ERROR 1146 (42S02): Table 'souyunku.tbl_language_tmp' doesn't exist
可以看到临时表已经被删除
干货推荐
附录:MySQL 教程:系列文章
- 一、MySQLMariaDB 基础教程
- 二、MySQL 简介
- 三、MySQL MariaDB 安装
- 四、MySQL 管理
- 五、MySQL 日常管理
- 六、MySQL PHP 语法
- 七、MySQL 创建连接
- 八、MySQL 获取数据库列表
- 九、MySQL 创建数据库
- 十、MySQL 删除数据库
- 十一、MySQL 选择数据库
- 十二、MySQL 数据类型
- 十三、MySQL 列出数据表
- 十四、MySQL 创建数据表
- 十五、MySQL 删除表
- 十六、MySQL 插入数据
- 十七、MySQL 获取插入数据的 ID
- 十八、MySQL SELECT FROM 查询数据
- 十九、MySQL WHERE 子句有条件的查询数据
- 二十、MySQL UPDATE 更新数据
- 二十一、MySQL DELETE FROM 语句删除数据
- 二十二、MySQL 返回删改查受影响的行数
- 二十三、MySQL LIKE 子句模糊查询数据
- 二十四、MySQL UNION 操作符查询多张表
- 二十五、MySQL ORDER BY 排序
- 二十六、MySQL GROUP BY 分组查询数据
- 二十七、MySQL JOIN 进行多表查询
- 二十八、MySQL NULL 值处理
- 二十九、MySQL REGEXP 子句正则表达式查询
- 三十、MySQL 数据库事务
- 三十一、MySQL ALTER 命令
- 三十二、MySQL 索引
- 三十三、CREATE TEMPORARY TABLE 创建临时表
- 【当前读到】三十四、MySQL DROP TABLE 删除临时表
- 三十五、MySQL INSERT INTO SELECT 复制表
- 三十六、MySQL 获取服务器元数据
- 三十七、MySQL 自增序列 AUTO_INCREMENT
- 三十八、MySQL 处理重复数据
- 三十九、MySQL 安全及防止 SQL 注入攻击
- 四十、MySQL 导出数据
- 四十一、MySQL 导入数据