w

API Referansı

Bu belge, SQL Prettify aracının işlevleri ve uygulaması hakkında teknik ayrıntılar sağlar.

Araç Yapılandırması

Biçimlendirme Seçenekleri

Araç aşağıdaki yapılandırma seçeneklerini kabul eder:

interface FormattingOptions {
  indentSize: number; // 2, 4, or 8 spaces
  keywordCase: "upper" | "lower" | "preserve";
  uppercaseKeywords: boolean;
  uppercaseFunctions: boolean;
  uppercaseDataTypes: boolean;
  alignCommas: boolean;
  breakBeforeBooleanOperator: boolean;
}

Varsayılan Yapılandırma

const defaultOptions: FormattingOptions = {
  indentSize: 2,
  keywordCase: "upper",
  uppercaseKeywords: true,
  uppercaseFunctions: true,
  uppercaseDataTypes: true,
  alignCommas: false,
  breakBeforeBooleanOperator: true,
};

Desteklenen SQL Anahtar Kelimeleri

Veri İşleme Dili (DML)

  • SELECT: Tablolardan veri sorgular
  • INSERT: Yeni kayıtlar ekler
  • UPDATE: Mevcut kayıtları değiştirir
  • DELETE: Kayıtları siler

Veri Tanımlama Dili (DDL)

  • CREATE: Veritabanı nesneleri oluşturur
  • ALTER: Veritabanı nesnelerini değiştirir
  • DROP: Veritabanı nesnelerini kaldırır
  • TRUNCATE: Bir tablodaki tüm kayıtları kaldırır

Veri Kontrol Dili (DCL)

  • GRANT: İzin verir
  • REVOKE: İzni geri alır

İşlem Kontrolü

  • COMMIT: İşlem değişikliklerini kaydeder
  • ROLLBACK: İşlem değişikliklerini geri alır
  • SAVEPOINT: Kaydetme noktaları oluşturur

Desteklenen SQL Fonksiyonları

Toplama Fonksiyonları

  • COUNT: Satırları veya null olmayan değerleri sayar
  • SUM: Değerlerin toplamını hesaplar
  • AVG: Değerlerin ortalamasını hesaplar
  • MIN: En küçük değeri bulur
  • MAX: En büyük değeri bulur

Dize Fonksiyonları

  • UPPER: Büyük harfe dönüştürür
  • LOWER: Küçük harfe dönüştürür
  • LENGTH: Dize uzunluğunu alır
  • SUBSTRING: Alt dize çıkarır
  • CONCAT: Dizeleri birleştirir
  • TRIM: Baştaki/sondaki boşlukları kaldırır

Tarih/Saat Fonksiyonları

  • NOW: Geçerli zaman damgasını alır
  • DATE: Tarih bölümünü çıkarır
  • TIME: Saat bölümünü çıkarır
  • YEAR: Yılı çıkarır
  • MONTH: Ayı çıkarır
  • DAY: Günü çıkarır

Matematiksel Fonksiyonlar

  • ROUND: Belirtilen ondalık basamağa yuvarlar
  • FLOOR: Aşağı yuvarlar
  • CEIL: Yukarı yuvarlar
  • ABS: Mutlak değeri alır
  • SQRT: Karekök hesaplar
  • POWER: Üs alır

Desteklenen Veri Türleri

Sayısal Türler

  • INT: Tamsayı değerleri
  • INTEGER: Tamsayı değerleri
  • BIGINT: Büyük tamsayı değerleri
  • SMALLINT: Küçük tamsayı değerleri
  • TINYINT: Çok küçük tamsayı değerleri
  • DECIMAL: Sabit noktalı ondalık
  • NUMERIC: Sabit noktalı ondalık
  • FLOAT: Kayan noktalı sayı
  • DOUBLE: Çift duyarlıklı kayan noktalı sayı
  • REAL: Tek duyarlıklı kayan noktalı sayı

Dize Türleri

  • CHAR: Sabit uzunluklu dize
  • VARCHAR: Değişken uzunluklu dize
  • TEXT: Büyük metin verisi
  • BLOB: Büyük ikili nesne

Tarih/Saat Türleri

  • DATE: Tarih değerleri
  • TIME: Saat değerleri
  • DATETIME: Tarih ve saat değerleri
  • TIMESTAMP: Zaman damgası değerleri

Diğer Türler

  • BOOLEAN: Boole değerleri
  • BIT: Bit değerleri
  • JSON: JSON verileri

Biçimlendirme Kuralları

Girinti Kuralları

  1. SELECT Maddeleri: Her sütun yeni satırda ve girintili olur
  2. FROM Maddeleri: Tablo adları uygun girintiyle yazılır
  3. JOIN Maddeleri: JOIN koşulları uygun girintiyle yazılır
  4. WHERE Maddeleri: Koşullar uygun girintiyle yazılır
  5. GROUP BY: Gruplama sütunları girintili olur
  6. ORDER BY: Sıralama sütunları girintili olur

Büyük/Küçük Harf Dönüştürme Kuralları

  1. Anahtar kelimeler: Belirtilen biçime dönüştürülür (upper/lower/preserve)
  2. Fonksiyonlar: Fonksiyon adları belirtilen biçime dönüştürülür
  3. Veri türleri: Veri türü adları belirtilen biçime dönüştürülür
  4. Tanımlayıcılar: Tablo/sütun adlarının özgün harf yapısı korunur

Satır Sonu Kuralları

  1. Ana maddeler: SELECT, FROM, WHERE, GROUP BY, ORDER BY öncesinde satır kırılır
  2. JOIN maddeleri: Her JOIN türü öncesinde satır kırılır
  3. Boole işleçleri: Etkinse AND/OR öncesinde satır kırılır
  4. Virgül hizalama: Etkinse SELECT listelerinde virgüller hizalanır

Geçmiş Yönetimi

Geçmiş Kaydı Yapısı

interface HistoryRecord {
  id: string;
  input: string;
  output: string;
  options: FormattingOptions;
  timestamp: number;
}

Geçmiş İşlemleri

  • Kayıt Ekle: Yeni biçimlendirme kayıtlarını otomatik ekler
  • Kaydı Sil: Belirli geçmiş girdilerini kaldırır
  • Geçmişi Temizle: Tüm geçmiş kayıtlarını siler
  • Kaydı Yükle: SQL'i ve seçenekleri geçmişten geri yükler

Depolama Sınırları

  • Maksimum Kayıt: 50 geçmiş kaydı
  • Depolama Konumu: Tarayıcı yerel depolaması
  • Kalıcılık: Veriler tarayıcı oturumları arasında korunur

Hata İşleme

Yaygın Hatalar

  1. Geçersiz SQL Sözdizimi: Hatalı biçimlendirilmiş SQL sorguları
  2. Desteklenmeyen Yapılar: Biçimlendiricinin desteklemediği SQL özellikleri
  3. Büyük Sorgular: İşleme sınırlarını aşan sorgular
  4. Tarayıcı Sınırlamaları: Yerel depolama veya bellek kısıtları

Hata Kurtarma

  1. Sözdizimi Doğrulama: Temel SQL sözdizimi kontrolü
  2. Aşamalı Bozulma: Karmaşık sorgular için kısmi biçimlendirme
  3. Kullanıcı Geri Bildirimi: Açık hata mesajları ve öneriler
  4. Yedek Seçenekler: Alternatif biçimlendirme yaklaşımları

Performans Hususları

İşleme Sınırları

  • Sorgu Boyutu: 10.000 karaktere kadar sorguları işler
  • Karmaşıklık: 10 seviyeye kadar iç içe sorguları destekler
  • İşleme Süresi: Genellikle sorguları 100 ms altında işler

Optimizasyon Özellikleri

  • Artımlı İşleme: Yalnızca değişen bölümleri işler
  • Önbellekleme: Tekrarlanan işlemler için biçimlendirme sonuçlarını önbelleğe alır
  • Tembel Yükleme: Geçmiş kayıtlarını gerektiğinde yükler

Tarayıcı Uyumluluğu

Desteklenen Tarayıcılar

  • Chrome: Sürüm 80+
  • Firefox: Sürüm 75+
  • Safari: Sürüm 13+
  • Edge: Sürüm 80+

Gerekli Özellikler

  • ES6 Desteği: Arrow function, template literal
  • Local Storage: Tarayıcı yerel depolama API'si
  • Clipboard API: Modern pano erişimi
  • CSS Grid: Düzen desteği

Entegrasyon

Gömme Seçenekleri

Araç başka uygulamalara entegre edilebilir:

  1. Iframe Gömme: iframe olarak gömün
  2. API Entegrasyonu: Biçimlendirme fonksiyonlarını doğrudan kullanın
  3. Bileşen Entegrasyonu: Vue bileşeni olarak ekleyin

Özelleştirme

  • Tema Desteği: Açık ve koyu temalar
  • Dil Desteği: Çoklu dil seçenekleri
  • Özel Stil: CSS özelleştirme seçenekleri
Bu sayfa yardımcı oldu mu?