当前位置 主页 > 技术大全 >

    mysql创建临时表,一种只在当前会话中存在的表

    栏目:技术大全 时间:2025-09-23 15:56


    在 MySQL 中,临时表是一种只在当前会话中存在的表,会话结束后会自动删除。创建临时表的语法与普通表类似,但需要使用 TEMPORARY 关键字。

    基本语法

    sql
    CREATE TEMPORARY TABLE 临时表名 (
        列名1 数据类型 [约束],
        列名2 数据类型 [约束],
        ...
    );
    
     

    示例

    1. 创建一个简单的临时表
    sql
    CREATE TEMPORARY TABLE temp_employees (
        id INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(50) NOT NULL,
        salary DECIMAL(10,2)
    );
    
     
    1. 从现有表复制结构和数据到临时表
    sql
    -- 复制表结构和数据
    CREATE TEMPORARY TABLE temp_students 
    AS SELECT * FROM students WHERE age > 18;
    
    -- 只复制表结构(不包含数据)
    CREATE TEMPORARY TABLE temp_teachers 
    AS SELECT * FROM teachers WHERE 1=0;
    
     

    临时表的特点

    • 仅对当前会话可见,其他会话无法访问
    • 当会话结束(断开连接)时,临时表会自动删除
    • 可以与普通表同名,但查询时会优先访问临时表
    • 不能使用 ALTER TABLE 对临时表进行重命名

    手动删除临时表

    如果需要在会话结束前删除临时表,可以使用:
    sql
    DROP TEMPORARY TABLE IF EXISTS 临时表名;
    
     
    临时表适合用于存储中间结果或临时数据,避免污染正式表空间。
1分钟搞定MySQL部署!Docker最强实操指南,含所有常用命令和配置
忘记MySQL密码怎么办?别慌!用这一招跳过验证,轻松重置管理员权限
MySQL自增主键用完怎么办?从原理到实战,全面破解开发中的高频难题
MySQL权限混乱?这几个命令让你彻底理清用户清单与权限归属
你的数据库安全吗?读懂MySQL这几种日志,关键时刻能「救你一命」
MySQL性能上不去?八成是这里没配好!手把手教你搞定my.cnf核心配置
修改MySQL字段长度别乱来!这3个核心要点和1个致命陷阱,新手必看
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
你的MySQL数据库为什么总是又慢又卡?掌握这五大优化法则,查询速度快十倍!(上篇)
你的MySQL数据库为什么总是又慢又卡?掌握这五大优化法则,查询速度快十倍!(下篇)