首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 與 MySQL 建立臨時表語法差異完整對照表

     編輯:關於SqlServer

臨時表是會話級/連線級暫存資料的利器。本文對照 SQL Server (局部/全域) 與 MySQL 臨時表的建立、查詢、刪除語法,並說明 PHPMyAdmin 建立失常的常見原因。

SQL Server 臨時表

類型前綴可見範圍建立語法刪除
局部臨時表#僅建立會話可見CREATE TABLE #t (c1 INT, c2 VARCHAR(50));
或 SELECT * INTO #t FROM src;
會話結束自動刪除,或 DROP TABLE #t;
全域臨時表##所有會話可見CREATE TABLE ##t (c1 INT);建立會話結束且無其他引用時自動刪除,或 DROP TABLE ##t;

MySQL 臨時表

建立語法可見範圍刪除
CREATE TEMPORARY TABLE t (c1 INT, c2 VARCHAR(50));僅當前連線 (Session) 可見連線斷開自動刪除,或 DROP TEMPORARY TABLE t;

關鍵差異速查

  • SQL Server 需 #/## 前綴;MySQL 用關鍵字 TEMPORARY。
  • SQL Server 全域臨時表跨會話共享;MySQL 無對應機制 (可用普通表 + 唯一前綴模擬)。
  • MySQL TEMPORARY 表可與同名永久表共存 (隱藏永久表);SQL Server 不允許同名。
  • PHPMyAdmin 執行 CREATE TEMPORARY TABLE 後立即查詢可能失敗,因 PHPMyAdmin 每次請求可能建立新連線 (連線池),導致臨時表不可見。解決:在同一腳本/連線中完成建立、查詢、刪除,或改用永久表 + 定時清理。

查詢與刪除統一語法

-- SQL Server
SELECT * FROM #t;  DROP TABLE #t;
SELECT * FROM ##t; DROP TABLE ##t;

-- MySQL
SELECT * FROM t;   DROP TEMPORARY TABLE t;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved