精品熟女碰碰人人a久久,多姿,欧美欧美a v日韩中文字幕,日本福利片秋霞国产午夜,欧美成人禁片在线观看

MySQL 臨時表

mysql 臨時表

mysql 臨時表在我們需要保存一些臨時數據時是非常有用,比如查詢語句非常復雜,可以用臨時表充當一個變量角色。臨時表只在當前連接可見,當關閉連接時,mysql會自動刪除表并釋放所有空間。

mysql臨時表只在當前連接可見,如果你使用php腳本來創建mysql臨時表,那每當php腳本執行完成后,該臨時表也會自動銷毀。

如果你使用了其他mysql客戶端程序連接mysql數據庫服務器來創建臨時表,那么只有在關閉客戶端程序時才會銷毀臨時表,當然你也可以手動銷毀。

 

1. 創建臨時表

使用 create temporary table tablename 命令創建臨時表。創建臨時表的語法和 create table tablename 是一樣的,只是多了一個 temporary 關鍵字。

以下展示了使用mysql 臨時表的簡單范例,以下的sql代碼可以適用于php腳本的mysql_query()函數。

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
);
query ok, 0 rows affected (0.00 sec)

mysql> insert into salessummary
    -> (product_name, total_sales, avg_unit_price, total_units_sold)
    -> values
    -> ('cucumber', 100.25, 90, 2);

mysql> select * from salessummary;
+--------------+-------------+----------------+------------------+
| product_name | total_sales | avg_unit_price | total_units_sold |
+--------------+-------------+----------------+------------------+
| cucumber     |      100.25 |          90.00 |                2 |
+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)

當你使用 show tables命令顯示數據表列表時,你將無法看到 salessummary表。

如果你退出當前mysql會話,再使用 select命令來讀取原先創建的臨時表數據,那你會發現數據庫中沒有該表的存在,因為在你退出時該臨時表已經被銷毀了。

 

2. 刪除 mysql 臨時表

默認情況下,當你斷開與數據庫的連接后,臨時表就會自動被銷毀。當然你也可以在當前mysql會話使用 drop table 命令來手動刪除臨時表。

以下是手動刪除臨時表的范例:

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
);
query ok, 0 rows affected (0.00 sec)

mysql> insert into salessummary
    -> (product_name, total_sales, avg_unit_price, total_units_sold)
    -> values
    -> ('cucumber', 100.25, 90, 2);

mysql> select * from salessummary;
+--------------+-------------+----------------+------------------+
| product_name | total_sales | avg_unit_price | total_units_sold |
+--------------+-------------+----------------+------------------+
| cucumber     |      100.25 |          90.00 |                2 |
+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)
mysql> drop table salessummary;
mysql>  select * from salessummary;
error 1146: table 'salessummary' doesn't exist

下一節:mysql 復制表

mysql 教程

相關文章