Mysql veritabanlarındaki temp (geçici) tablolar
Temp tablolar geçici verileri tutmak için çok yararlı olabilir. Geçici tablolar seçeneği MySQL’de 3.23 ve üzeri sürümlerde mevcuttur.
Oturum sona erdiğinde veya bağlantı kapatıldığında geçici tablo otomatik olarak drop edilir. Kullanıcı ayrıca geçici tabloları manuel de drop edebilir.
Aynı temp tablo adı aynı anda birçok bağlantıda kullanılabilir, çünkü temp tablo yalnızca bu tabloyu oluşturan istemci tarafından kullanılabilir ve erişilebilir.
Temp tablo oluşturma :
Standart şekilde :
CREATE TEMPORARY TABLE tempTable1(
id INT NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
PRIMARY KEY ( id )
);
Select ile bir tablodaki veriler ile :
CREATE TEMPORARY TABLE tempTable1
SELECT ColumnName1,ColumnName2,... FROM table1;
Temp tabloyu oluştururken indeksler ekleyebilirsiniz:
CREATE TEMPORARY TABLE tempTable1
( PRIMARY KEY(ColumnName2) )
SELECT ColumnName1,ColumnName2,... FROM table1;
IF NOT EXISTS ifadesi ‘table already exists’ hatasının önüne geçmek için tablo oluşturma komutu ile kullanılabilir. Fakat aynı isimde baika bir tablo varsa bu oturumda tablo oluşturulmayacaktır.
CREATE TEMPORARY TABLE IF NOT EXISTS tempTable1
SELECT ColumnName1,ColumnName2,... FROM table1;
Temp tabloların silinmesi :
Geçerli oturumunuzda oluşturduğunuz temp tabloyu silmek için “DROP TEMPORARY TABLE” komutu kullanılır.
DROP TEMPORARY TABLE tempTable1;
DROP TEMPORARY TABLE IF EXISTS tempTable1;