🧩 MySQL Tablo Oluşturma ve Veri Ekleme Rehberi
Meta Açıklaması:
MySQL’de $CREATE$ $TABLE$, $INSERT$ ve $UPDATE$ komutlarını kullanarak tablo oluşturmayı, veri eklemeyi ve kayıt güncellemeyi adım adım öğrenin.
💡 Bu Rehberde Ne Öğreneceksiniz?
Bu başlangıç seviyesindeki rehberde, MySQL’de tablo oluşturmayı ve veri eklemeyi öğreneceksiniz.
Ayrıca:
- Birincil anahtar ($PRIMARY$ $KEY$) ve otomatik artırma ($AUTO_INCREMENT$) kavramlarını öğreneceksiniz.
- $INSERT$, $UPDATE$ ve $SELECT$ sorgularını pratik örneklerle uygulayacaksınız.
🎯 Amaç: Kendi veritabanınızı oluşturup kayıtları yönetmeyi öğrenmek.
🧠 Temel Bilgi ve Gereksinimler
Başlamadan önce şunlara sahip olun:
- Kurulu ve yapılandırılmış bir MySQL sunucusu (örnek: Rabisu Bulut sunucusu).
- Temel SQL komut bilgisi.
- MySQL komut satırı veya MySQL Workbench erişimi.
MySQL’e bağlanmak için:
mysql -u kullanıcı_adı -p
Bu komut MySQL oturumunu başlatır.
1️⃣ Veritabanı Oluşturma ve Seçme
Her tablo, bir veritabanı içinde yer alır. Önce rabisu_uyg adlı bir veritabanı oluşturalım:
CREATE DATABASE rabisu_uyg;
USE rabisu_uyg;
Bu komut yeni bir veritabanı oluşturur ve aktif hale getirir.
2️⃣ Tablo Oluşturma ($CREATE$ $TABLE$)
Bir tablo, sütun adları ve veri tiplerinden oluşur.
CREATE TABLE kullanicilar (
id INT PRIMARY KEY AUTO_INCREMENT,
ad VARCHAR(100),
eposta VARCHAR(255) UNIQUE,
kayit_tarihi DATE
);
| Sütun | Veri Tipi ve Kısıtlama | Açıklama |
|---|---|---|
id | INT PRIMARY KEY AUTO_INCREMENT | Her satır için benzersiz, otomatik artar. |
ad | VARCHAR(100) | Kullanıcı adı, 100 karaktere kadar. |
eposta | VARCHAR(255) UNIQUE | E-posta adresi, benzersiz olmalı. |
kayit_tarihi | DATE | Kaydın oluşturulduğu tarih. |
✅ Bu tablo artık veri eklemeye hazır.
3️⃣ Tabloya Veri Ekleme ($INSERT$ $INTO$)
Tek Kayıt Ekleme
INSERT INTO kullanicilar (ad, eposta, kayit_tarihi)
VALUES ('Murat Yılmaz', '[email protected]', '2025-10-01');
Birden Fazla Kayıt Ekleme
INSERT INTO kullanicilar (ad, eposta, kayit_tarihi)
VALUES
('Gizem Demir', '[email protected]', '2025-10-02'),
('Ali Can', '[email protected]', '2025-10-03');
💡 Tek sorguda çoklu ekleme yapmak performansı artırır.
4️⃣ Verileri Görüntüleme ($SELECT$)
Verilerin doğru eklendiğini kontrol etmek için:
SELECT * FROM kullanicilar;
| id | ad | eposta | kayit_tarihi |
|---|---|---|---|
| 1 | Murat Yılmaz | [email protected] | 2025-10-01 |
| 2 | Gizem Demir | [email protected] | 2025-10-02 |
| 3 | Ali Can | [email protected] | 2025-10-03 |
5️⃣ Kayıt Güncelleme ($UPDATE$)
UPDATE kullanicilar
SET eposta = '[email protected]'
WHERE id = 1;
🔄 id=1 olan kullanıcının e-postası güncellenir.
Değişikliği doğrulamak için:
SELECT * FROM kullanicilar;
🔎 En Sık Kullanılan SQL Komutları
| Komut | Açıklama |
|---|---|
CREATE DATABASE | Yeni veritabanı oluşturur |
USE | Veritabanını aktif eder |
CREATE TABLE | Yeni tablo oluşturur |
INSERT INTO | Yeni kayıt ekler |
SELECT | Verileri görüntüler |
UPDATE | Kayıtları günceller |
REPLACE | Varsa günceller, yoksa ekler |
DROP TABLE | Tabloyu siler |
⚠️ Sık Karşılaşılan Hatalar
1️⃣ “Table already exists”
Aynı isimde tablo varsa hata verir.
CREATE TABLE IF NOT EXISTS kullanicilar (...);
2️⃣ Yanlış veri tipi
Veri türü ile uyuşmayan değer eklemek hataya yol açar.
age INT NOT NULL;
INSERT INTO kullanicilar (ad, age) VALUES ('Ali', 'yirmi'); -- ❌ Hatalı
3️⃣ Sözdizimi (Syntax) Hataları
Eksik parantez veya tırnak kullanımı hataya neden olur.
INSERT INTO kullanicilar (ad, eposta VALUES ('Ali', '[email protected]'); -- ❌ Eksik parantez
💬 Sıkça Sorulan Sorular (SSS)
- PRIMARY KEY tanımlamak zorunlu mu?
Hayır, ama veri bütünlüğü için önerilir.
- CHAR ile VARCHAR farkı nedir?
CHAR sabit uzunluktadır, VARCHAR değişken uzunlukta depolanır.
- INSERT, INSERT IGNORE ve REPLACE farkı nedir?
INSERT: Kayıt varsa hata verir.
INSERT IGNORE: Hata görmezden gelir.
REPLACE: Kayıt varsa günceller, yoksa ekler.
- SQL enjeksiyonu nedir, nasıl önlenir?
Hazırlanmış ifadeler (Prepared Statements) kullanarak veriyi güvenli ekleyin.
$stmt = $conn->prepare("INSERT INTO kullanicilar (ad, eposta) VALUES (?, ?)");
$stmt->bind_param("ss", $ad, $eposta);
$stmt->execute();
- Tabloyu nasıl kopyalarım?
CREATE TABLE yedek_kullanicilar SELECT * FROM kullanicilar;
🏁 Sonuç
Artık MySQL’de tablo oluşturmayı, veri eklemeyi ve kayıt güncellemeyi biliyorsunuz. Bu temel bilgiler, backend geliştirme sürecinizin omurgasını oluşturur.
☁️ Uygulamanızı Rabisu Bulut üzerinde barındırarak, MySQL performansını gerçek ortamlarda test edebilirsiniz.