Sqlite veritabanı temel işlemler (dosyaya veri yazma)

sqlite-veritabani-temel-islemler-dosyaya-veri-yazma (büyük resim için tıklayın)

import os,sys,sqlite3;#moduller 
v0 = sqlite3.connect('.\MiniBlog.db');#veritabani olustur 
v1 = v0.cursor();#db isaretcisi 

##Tablo olusturma  
v1.execute("CREATE TABLE makale (mid integer primary key autoincrement,baslik nvarchar(150),icerik nvarchar(250), m_kid integer,m_yid integer)"); 
v1.execute("CREATE TABLE yazar (yid integer primary key not null,ad nvarchar(150),FOREIGN KEY (yid) REFERENCES makale(m_y_id))"); 
v1.execute("CREATE TABLE kategori(kid integer primary key not null,ad nvarchar(150),FOREIGN KEY (kid) REFERENCES makale(m_kid))"); 

##Tablolara Veri Ekleme  

## KATEGORİ VERİLER  
v1.execute("insert into kategori(ad) values ('Gündem')");v0.commit(); 
v1.execute("insert into kategori(ad) values ('Spor')");v0.commit(); 
v1.execute("insert into kategori(ad) values ('Dünya')");v0.commit(); 
v1.execute("insert into kategori(ad) values ('Ekonomi')");v0.commit(); 
v1.execute("insert into kategori(ad) values ('Seyahat')");v0.commit(); 
v1.execute("insert into kategori(ad) values ('Alışveriş')");v0.commit(); 
v1.execute("insert into kategori(ad) values ('Astroloji')");v0.commit(); 
v1.execute("insert into kategori(ad) values ('Sağlık')");v0.commit(); 
v1.execute("insert into kategori(ad) values ('Emlak')");v0.commit(); 
v1.execute("insert into kategori(ad) values ('Eğitim')");v0.commit(); 

## YAZAR VERİLER 
v1.execute("insert into yazar(ad) values ('Ömürcan Serdar')");v0.commit(); 
v1.execute("insert into yazar(ad) values ('Uğur Dündar')");v0.commit(); 
v1.execute("insert into yazar(ad) values ('Rahmi Turan')");v0.commit(); 
v1.execute("insert into yazar(ad) values ('Bekir Coşkun')");v0.commit(); 
v1.execute("insert into yazar(ad) values ('Yılmaz Özdil')");v0.commit(); 
v1.execute("insert into yazar(ad) values ('Saygı Öztürk')");v0.commit(); 
v1.execute("insert into yazar(ad) values ('Soner Yalçın')");v0.commit(); 
v1.execute("insert into yazar(ad) values ('Deniz Zeyrek')");v0.commit(); 
v1.execute("insert into yazar(ad) values ('Ege Cansen')");v0.commit(); 
v1.execute("insert into yazar(ad) values ('Çiğdem Toker')");v0.commit(); 

## MAKALE VERİLER 
v1.execute("insert into makale(baslik,icerik,m_kid,m_yid) values ('İstanbul için turuncu uyarı','Meteoroloji; İstanbul için turuncu uyarı vererek Kuzey ve Kuzeydoğu yönlerinden esecek olan rüzgarın şiddetinin saatte 100 kilometreye kadar çıkabileceğini duyurdu',1,1)");v0.commit(); 


v1.execute("insert into makale(baslik,icerik,m_kid,m_yid) values ('Trabzonda gol yağmuru!','Trabzonspor Kayserispor karşı karşıya geldi. 8 golün atıldığı maçta Trabzonspor Kayserisporu 6-2 yenmeyi başardı.',2,2)");v0.commit(); 


v1.execute("insert into makale(baslik,icerik,m_kid,m_yid) values ('Kolombiya Kara Kuvvetleri Komutanı görevi bıraktı','Kolombiyada verdiği talimatların sivil ölümlerine yol açıp açmadığını belirlemek için hakkında soruşturma açılan Kara Kuvvetleri Komutanı Nicacio de Jesus Martinez görevi bıraktı.',3,3)");v0.commit(); 


v1.execute("insert into makale(baslik,icerik,m_kid,m_yid) values ('Vergi davasından vazgeçen mükellefe indirim','Vergi davalarından istinaf ya da temyiz sürecinde vazgeçen mükellefler, mahkeme lehine karar aldıysa vergi tutarının yüzde 60ını, aleyhine kararda ise vergi tutarının tamamıyla cezanın yüzde 75ini ödeyecek.',4,4)");v0.commit(); 


v1.execute("insert into makale(baslik,icerik,m_kid,m_yid) values ('Abant ve Gölcükte kar güzelliği','Doğal güzellikleriyle ünlü Abant ve Gölcük Tabiat parkları beyaz örtüyle kaplandı.',5,5)");v0.commit(); 


v1.execute("insert into makale(baslik,icerik,m_kid,m_yid) values ('Zara-Jo Malone işbirliği açıklandı','Zara bugün,Jo Lovesın Kurucusu Jo Malone CBE ile kurduğu global iş birliğini açıklıyor. Ünlü giyim markası, sekiz kokudan oluşan seti 15 Kasımda mağazalardaki yerini aldı.',6,6)");v0.commit(); 


v1.execute("insert into makale(baslik,icerik,m_kid,m_yid) values ('Merkür Oğlak burcunda','29 Aralıkta Merkür Oğlak burcuna geçecek ve 16 Ocaka kadar bu burçta seyahat edecek. Merkürün Oğlak burcu gibi davranacağı bu süreçte, negatif düşüncelerin çevremizi saracağı, her şeyi kontrol altına almak isteyeceğimiz bir döneme işaret ediyor.',7,7)");v0.commit(); 


v1.execute("insert into makale(baslik,icerik,m_kid,m_yid) values ('Çift kol nakli yapılan Yusuf: Elimi kolumu sallayarak gezeceğim','Akdeniz Üniversitesi Hastanesinde çift kol nakli ameliyatı yapılan 25 yaşındaki Yusuf Şimşek ilk kez basın mensuplarının karşısına çıktı.',8,8)");v0.commit(); 


v1.execute("insert into makale(baslik,icerik,m_kid,m_yid) values ('66 dev ihalenin 29u kapalı kapılar arkasında verildi','AKP iktidarının, 2019 yılında Kamu İhale Kanununda deprem, sel gibi olağanüstü hallerde mağduriyetlerin önlenmesi amacıyla öngörülen “21/B-Pazarlık Usulü”nü kullanarak tanıdık şirketlere verdiği 100 milyon TL üzeri ihalelerin bedeli 9.2 milyarı aştı.',9,9)");v0.commit(); 


v1.execute("insert into makale(baslik,icerik,m_kid,m_yid) values ('Yeni enstitü ve fakülteler kuruldu','Bazı yükseköğretim kurumlarına bağlı olarak enstitü ve fakültelerin kurulması ile bazı enstitü ve yüksekokulların kapatılmasına ilişkin Cumhurbaşkanı kararı Resmi Gazetede yayımlandı.',10,10)");v0.commit(); 

#verileri cektigim sqlsorgu 
v1.execute("SELECT m.baslik,m.icerik,y.ad,k.ad FROM makale AS m JOIN kategori AS k ON m.m_kid = k.kid JOIN yazar AS y ON m.m_yid = y.yid "); 
veriler = v1.fetchall();#sorgu sonucunu datas degiskenine dolduruyoruz 

#html dosyası 
Table = ""; 

#for dongusu yardimiyla row datas degiskeni icerisindeki verilere erisiyoruz. 
for row in veriler: 
   #verileri tabloda kolon olarak yazdiriyoruz. 
   a=str(row[1]) 
   ya=a[:61]+'...' 
   satir = ""; 
   Table = Table + satir;#her satiri degiskene ekliyoruz. 
    
Table = Table+"BaslikİcerikYazarKategori

"+str(row[0])+ "

"+ya+"

"+str(row[2])+"

"+""+str(row[3])+"";#satirlar eklendikten sonra teble ve html etiketlerini kapatiyoruz. 
#HTML dosyamizin icerigi hazir olmus oluyor. 

hs = open("dbTable.html", 'w');#dbTable adinda html dosyasi olustur ve yazma modunda ac 
hs.write(Table);#html dosyasinin icerigini yaz. 
hs.close();#dosyayi kapat. 

omurserdarr

Ömürcan Serdar, 30 Ağustos 2018 Perşembe 15:30 tarihinde kayıt oldu

Beğeni