黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

MySQL 臨時表

mysql 臨時表

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

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

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

 

1. 創(chuàng)建臨時表

使用 create temporary table tablename 命令創(chuàng)建臨時表。創(chuàng)建臨時表的語法和 create table tablename 是一樣的,只是多了一個 temporary 關(guān)鍵字。

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

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命令顯示數(shù)據(jù)表列表時,你將無法看到 salessummary表。

如果你退出當前mysql會話,再使用 select命令來讀取原先創(chuàng)建的臨時表數(shù)據(jù),那你會發(fā)現(xiàn)數(shù)據(jù)庫中沒有該表的存在,因為在你退出時該臨時表已經(jīng)被銷毀了。

 

2. 刪除 mysql 臨時表

默認情況下,當你斷開與數(shù)據(jù)庫的連接后,臨時表就會自動被銷毀。當然你也可以在當前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

下一節(jié):mysql 復(fù)制表

mysql 教程

相關(guān)文章