Mysql MERGE Table 1 (Tabloları Birleştirme)

Mysql MERGE Table,

Myisam tabloları birleştirmek iÇin kullanılır.Yani birden fazla myisam tabloyu ,aynı kolon ismi,
aynı kolon sayılarına sahip olması şartıyla,tek tabloymuş gibi kullanmanızı sağlar. Burada önemli olan kısım tablolardaki kolon isimlerinin ve kolon sayılarının eşit olması ve tabloların engine’ninin
Myisam olması.

şimdi bir örnekle anlatmayaya Çalışayım.

Satis_2009_01 isminde bir tablomuz olsun bu tabloda 2009 ocak ayı satışları mevcut.

CREATE TABLE satis_2009_01 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
urun CHAR(20) ,
fiyat BIGINT(20),
alici CHAR(20))
ENGINE=MyISAM;

Satis_2009_02 isminde bir tablomuz olsun bu tabloda 2009 şubat ayı satışları mevcut.

CREATE TABLE satis_2009_02 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
urun CHAR(20) ,
fiyat BIGINT(20),
alici CHAR(20))
ENGINE=MyISAM;

Sonra oluşturduğumuz bu tablolara kayıtlar girelim.

INSERT INTO satis_2009_01 (urun,fiyat,alici) values
(‘ekran kartı’,40,’tayfur’),
(‘ses kartı’,60,’ahmet pazarlama’);

INSERT INTO satis_2009_02 (urun,fiyat,alici) values
(‘tv kartı’,80,’emrah’),
(‘ram’,60,’ismail’);

Ve bu tablolarda da oldukÇa fazla kayıt olduğunu düşünün.şimdi bir MERGE tablo yaratarak
bu iki tabloyu tek tabloymuş gibi kullanabileceğiz.Yukarıda oluşturduğumuz her iki tabloda da
insert,update ve delete olması durumunda da oluşturduğumuz MERGE tablo otomatik olarak
güncellenecektir.

CREATE TABLE satisToplam (
id INT NOT NULL AUTO_INCREMENT,
urun CHAR(20),
fiyat BIGINT(20),
alici CHAR(20),
INDEX(id))
ENGINE=MERGE UNION=(satis_2009_01,satis_2009_02)
INSERT_METHOD=LAST;

MERGE tablomuzu oluşturduktan sonra da select yapıp satisToplam tablosunun iÇine bakalım.

select * from satisToplam;

id,urun,fiyat,alici
1,ekran kartı,40,tayfur
2,ses kartı,60,ahmet pazarlama
1,tv kartı,80,emrah
2,ram,60,ismail

Gördüğünüz gibi her iki tablodaki kayıtlar satisToplam tablosunda mevcut.
İsterseniz satis_2009_01 ve satis_2009_02 tablolarında delete veya update işlemi
yapıp satisToplam tablosunu kontrol edebilirsiniz.Göreceksiniz ki değişiklikler anında bu
tabloya yansımış.

Diğer makaleler de görüşmek dileğiyle,

Tayfur BÖLER
Database Administrator