SQL Dökümü (.sql)
ISO/IEC StandartSQL betiği, CREATE TABLE, INSERT ve SELECT gibi veritabanı ifadelerinden oluşan bir metin dosyasıdır. SQL lehçeleri farklılık gösterir; çalıştırmadan önce hedef veritabanının betik söz dizimini desteklediğini kontrol edin.
SQLITE biçimini SQL biçimine dönüştür
Tarayıcında SQLITE biçimini SQL biçimine ücretsiz dönüştür. Dosyaları cihazında anında dönüştür.
İncele ve Meta Veriler
İşletim sistemleri ve dosya çözümleyicileri, SQL dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:
Bayt düzeyinde başlık imzası (sihirli baytlar)
İşletim sistemleri ve dosya çözümleyicileri, SQL dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:
HEX İMZASI (OFSET 0):
Sabit imza yok (SQL düz metindir)ASCII GÖSTERİMİ: Sabit imza yok
Standartlaştırma: ISO/IEC 9075:2023 / ANSI SQL Standard
Teknik Özellikler
| Kapsayıcı mimarisi | Data Definition Language (DDL) ve Data Manipulation Language (DML) ifadeleri içeren Unicode düz metin betiği |
| Sıkıştırma | Sıkıştırılmamış düz metin (sıklıkla .sql.gz veya .sql.zst olarak sıkıştırılır) |
| Bayt Düzeni (Endianness) | UTF-8 / Unicode metin akışı |
| Renk Uzayları | N/A (Database Script) |
| Kanallar ve Yapı | İlişkisel şema tanımları (tablolar, görünümler, dizinler, yabancı anahtarlar) ve veri INSERT satırları |
| Maksimum Boyutlar | Sınırsız metin uzunluğu (çok terabaytlı veritabanı dökümlerini destekler) |
| Şeffaflık | None |
| Akış ve Aşamalı İşleme | İfadelerin işlem tabanlı ve sıralı akış yürütmesi |
Teknik karşılaştırma matrisi: SQL ve rakipleri
| Teknik Nitelik | SQL (Güncel) | CSV | JSON | SQLITE |
|---|---|---|---|---|
| Şema Korunması | Tam şema (tablolar, türler, yabancı anahtarlar) | Yalnızca başlık sütun adları | Kendi kendini açıklayan belge yapısı | Tam ikili veritabanı dosyası |
| Yürütme Modeli | Çalıştırılabilir DDL/DML betiği | Pasif satır-sütun verileri | Pasif belge ağacı | Doğrudan ikili B-tree sorgusu |
| Standardizasyon | ISO/IEC 9075 Standardı | RFC 4180 | RFC 8259 | SQLite açık dosya formatı |
| Veri İlişkileri | Tam yabancı anahtar kısıtlamaları | Düz tablo (ilişki yok) | İç içe geçmiş ebeveyn-çocuk nesneleri | Tam ilişkisel kısıtlamalar |
Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu
Veritabanı içe aktarımı 'ERROR: syntax error at or near...' hatasıyla başarısız oluyor.
Kök Neden: SQL diyalekt uyumsuzluğu (örn. bir MySQL ters tırnak dökümünü PostgreSQL'e içe aktarmak) veya kaçış karakteri kullanılmamış tek tırnaklar.
Kurtarma: File2File.app Database Transpiler'ı kullanarak lehçeye özgü sözdizimini dönüştürüp temizle.
Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri
Güvenilmeyen SQL betiklerinin çalıştırılması felaket niteliğinde SQL enjeksiyonuna, isteğe bağlı dosya yazmalarına veya idari ayrıcalık yükseltmelerine neden olabilir.
Bilinen Saldırı Vektörleri
- İstenmeyen idari komutları çalıştıran SQL Enjeksiyonu (SQLi) (örn. DROP TABLE, GRANT ALL).
- 'COPY ... FROM PROGRAM' veya 'LOAD DATA INFILE' aracılığıyla isteğe bağlı sunucu dosyası okuma/yazma.
- Dizinlenmemiş özyinelemeli ortak tablo ifadeleri (CTE) aracılığıyla hizmet reddi (DoS).
Savunmaya yönelik en iyi uygulamalar: Güvenilmeyen SQL betiklerini üretim veritabanı sunucularında asla doğrudan çalıştırmayın; sorguları yalıtılmış korumalı alanlarda inceleyip temizleyin.
Tarihsel kökenler ve önemli dönüm noktaları
Temel Avantajlar ve Artılar
- SQL betikleri tablolar tanımlayabilir, satır ekleyebilir ve ilişkisel veritabanlarını sorgulayabilir. Veri türleri, identity sütunları ve tarih işlevleri gibi söz dizimi SQLite, MySQL, PostgreSQL ve SQL Server arasında değişir.
- Tam ilişkisel sadakat: tabloları, birincil anahtarları, yabancı anahtarları, kısıtlamaları ve dizinleri verilerle birlikte yeniden oluşturur.
- İşlemsel yürütme: veritabanının atomik olarak geri yüklenmesini garanti etmek için ifadeler işlemler içinde (BEGIN...COMMIT) çalıştırılabilir.
Teknik Kısıtlamalar ve Eksiler
- Diyalekt uyumsuzlukları: ince sözdizimi farklılıkları (örn. AUTO_INCREMENT vs. SERIAL vs. AUTOINCREMENT), veritabanı motorları arasında dönüştürme gerektirir.
- Devasa metin yükü: düz SQL INSERT ifadeleri, ikili veritabanı depolamasına kıyasla önemli ölçüde daha fazla alan kaplar.
- Dizinleri yeniden oluşturma işlemi devre dışı bırakılmadığında, çok gigabaytlık dökümlerin içe aktarılması yavaşlar.
İlginç Teknik Bilgiler
- SQL'in adı başlangıçta 'SEQUEL' (Structured English Query Language) idi, ancak Hawker Siddeley uçak şirketiyle yaşanan bir marka anlaşmazlığı nedeniyle SQL olarak kısaltıldı.
- Resmi ISO standardı onu 'S-Q-L' harfleri olarak telaffuz eder, ancak milyonlarca geliştirici konuşma dilinde 'sequel' (sikıl) olarak telaffuz eder.
- SQL sözdizimi üzerinde çalışan SQLite'ın dünya çapında 1 trilyondan fazla cihazda kurulu olduğu tahmin edilmektedir.
Sıkça Sorulan Teknik Sorular
.sql dosyası nedir?
.sql dosyası; tablolar oluşturan, ilişkiler kuran ve ilişkisel bir veritabanına veri satırları ekleyen SQL komutlarını içeren düz metin (plaintext) bir betiktir.
SQL döküm (dump) dosyalarını CSV veya JSON formatına dönüştürebilir miyim?
Evet. File2File.app, .sql veritabanı döküm dosyalarını çözümleyebilir ve tabloları doğrudan temiz CSV e-tablolarına veya yapılandırılmış JSON belgelerine aktarabilir.
MySQL .sql dosyam neden PostgreSQL'de çalışmıyor?
Farklı veritabanı sistemlerinde veri türleri ve tırnak kaçışları gibi kendine özgü sözdizimi farklılıkları bulunur. Veritabanı motorları arasında geçerken lehçeye özgü sözdizimini dönüştürmen gerekir.
İlgili SQL Dönüşüm Çiftleri
Bir SQLite Veritabanı dosyasını SQL Dökümü metin betiğine dönüştürmek, kolay veritabanı geçişleri ve sunucu içe aktarımları için ikili veritabanını okunabilir metin komutlarına dönüştürür.
Bir SQL döküm metin betiğini JSON veri dışa aktarımına dönüştürmek, katı ilişkisel veritabanı tablolarını modern web uygulamaları için esnek, iç içe nesnelere dönüştürür.
İlişkisel veritabanı yedekleme betiklerini basit veri analizi ve raporlama için düz tablo biçimindeki elektronik tablolara dönüştür.
Desteklenen bir SQL Server .bak yedeğini inceleme veya taşıma işlemlerinde kullanmak üzere metin biçiminde bir SQL betiğine dönüştürün.
Sıkıştırılmamış düz metin SQL betiğini optimize edilmiş yerel veritabanı yedekleme dosyasına dönüştürmek, depolama boyutunu azaltır ve sunucu geri yükleme sürelerini hızlandırır.