Skip to main content

🧩 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ütunVeri Tipi ve KısıtlamaAçıklama
idINT PRIMARY KEY AUTO_INCREMENTHer satır için benzersiz, otomatik artar.
adVARCHAR(100)Kullanıcı adı, 100 karaktere kadar.
epostaVARCHAR(255) UNIQUEE-posta adresi, benzersiz olmalı.
kayit_tarihiDATEKaydı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;
idadepostakayit_tarihi
1Murat Yılmaz[email protected]2025-10-01
2Gizem Demir[email protected]2025-10-02
3Ali 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ı

KomutAçıklama
CREATE DATABASEYeni veritabanı oluşturur
USEVeritabanını aktif eder
CREATE TABLEYeni tablo oluşturur
INSERT INTOYeni kayıt ekler
SELECTVerileri görüntüler
UPDATEKayıtları günceller
REPLACEVarsa günceller, yoksa ekler
DROP TABLETabloyu 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)

  1. PRIMARY KEY tanımlamak zorunlu mu?

Hayır, ama veri bütünlüğü için önerilir.

  1. CHAR ile VARCHAR farkı nedir?

CHAR sabit uzunluktadır, VARCHAR değişken uzunlukta depolanır.

  1. 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.

  1. 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();
  1. 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.