0Pricing
Python Academy · Ders

Tablolara Bağlanma ve Tablo Oluşturma

Bir veritabanı açın ve şemayı tanımlayın

Tablolara Bağlanma ve Tablo Oluşturma, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.

sqlite3 Nedir?

Python, standart kitaplığında sqlite3 modülüyle birlikte gelir. Bu modül, ayrı bir sunucu gerektirmeyen, hafif ve dosya tabanlı bir SQL veritabanı olan SQLite ile çalışmanızı sağlar.

  • Kurulum gerekmez
  • Veritabanının tamamı tek bir dosyada bulunur
  • Prototipler, testler ve küçük uygulamalar için idealdir
import sqlite3
print(sqlite3.version)

Veritabanına Bağlanma

Bir veritabanını açmak için sqlite3.connect() kullanın. Dosya yoksa SQLite dosyayı oluşturur.

':memory:' iletmek, bağlantı kapatıldığında ortadan kaybolan geçici, bellek içi bir veritabanı oluşturur.

import sqlite3
conn = sqlite3.connect(':memory:')
print('Connected:', conn)
conn.close()

Cursor Nesnesi

SQL çalıştırmak için bir imlece ihtiyacınız vardır. Bir imleç almak için conn.cursor() çağrısını yapın, ardından SQL ifadelerini göndermek için cursor.execute() kullanın.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
print('Cursor ready:', cur)
conn.close()

Tablo Oluşturma

CREATE TABLE ile bir şema tanımlayın. Her sütun için bir ad ve INTEGER, TEXT veya REAL gibi bir tür gerekir.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER, name TEXT, age INTEGER)')
print('Table created')
conn.close()

Birincil Anahtarlar

Birincil anahtar, her satırı benzersiz şekilde tanımlar. INTEGER PRIMARY KEY bildirmek, değeri sizin için SQLite'ın otomatik olarak artırmasını sağlar.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE books (id INTEGER PRIMARY KEY, title TEXT)')
print('books table ready')
conn.close()

IF NOT EXISTS

CREATE TABLE ifadesini iki kez çalıştırmak hata oluşturur. İfadenin tekrar tekrar güvenle çalıştırılabilmesi için IF NOT EXISTS ekleyin.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
sql = 'CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, body TEXT)'
cur.execute(sql)
cur.execute(sql)
print('No error on second run')
conn.close()

Sütun Kısıtlamaları

Kısıtlamalar, veri kurallarını veritabanı düzeyinde uygular.

  • NOT NULL bir değer girilmesini zorunlu kılar
  • UNIQUE yinelenen değerleri engeller
  • DEFAULT bir yedek değer sağlar
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE accounts (id INTEGER PRIMARY KEY, email TEXT NOT NULL UNIQUE, active INTEGER DEFAULT 1)')
print('accounts table with constraints')
conn.close()

Şemayı İnceleme

SQLite, şema bilgilerini sqlite_master içinde saklar. Tablolarınızı listelemek için buradan sorgulama yapın.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("SELECT name FROM sqlite_master WHERE type='table'")
print(cur.fetchall())
conn.close()

Dosyaya Kaydetme

Verilerin kalıcı olmasını sağlamak için connect() işlevine bir dosya adı verin. Veritabanı, programınız sonlandıktan sonra da varlığını sürdürür.

Değişiklikleri diske yazmak için conn.commit() işlevini çağırmanız gerekir.

import sqlite3
conn = sqlite3.connect('app.db')
cur = conn.cursor()
cur.execute('CREATE TABLE IF NOT EXISTS items (id INTEGER PRIMARY KEY, name TEXT)')
conn.commit()
print('Saved to app.db')
conn.close()

Tabloyu Silme

Bir tabloyu DROP TABLE ile kaldırın. Tablo zaten kaldırılmışsa oluşacak hataları önlemek için IF EXISTS kullanın.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE temp (id INTEGER)')
cur.execute('DROP TABLE IF EXISTS temp')
print('Dropped temp table')
conn.close()

Bağlantıyı Her Zaman Kapatın

Açık bağlantılar dosya tanıtıcılarını kullanır. İşiniz bittiğinde bağlantıları her zaman conn.close() ile kapatın veya otomatik temizleme için bir with bloğu kullanın.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE t (id INTEGER)')
conn.close()
print('Connection closed cleanly')

Hızlı Kontrol

Tablo oluşturma konusundaki anlayışınızı sınayın.

Özet

sqlite3 ile çalışmanın temellerini öğrendiniz.

  • connect() bir veritabanı dosyasını açar veya oluşturur
  • cursor() size SQL çalıştırabileceğiniz bir nesne verir
  • CREATE TABLE türler ve kısıtlamalarla şemayı tanımlar
  • commit() değişiklikleri kalıcı hâle getirir, close() ise bağlantıyı serbest bırakır

Sırada satır eklemeyi ve satırları okumayı öğreneceksiniz.

Sıkça Sorulan Sorular

“Tablolara Bağlanma ve Tablo Oluşturma” dersi ücretsiz mi?

Evet — “Tablolara Bağlanma ve Tablo Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.

“Tablolara Bağlanma ve Tablo Oluşturma” dersinde ne öğreneceğim?

Bir veritabanı açın ve şemayı tanımlayın Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Python Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Tablolara Bağlanma ve Tablo Oluşturma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Tablolara Bağlanma ve Tablo Oluşturma
  2. Ekleme, Seçme, Güncelleme, Silme
  3. Parametreli Sorgular
  4. İşlemler ve Bağlam Yöneticileri
← Python Academy Sayfasına Dön