man/data_processing
man · Veri İşleme

$ sqlite3

Bölüm 1 · Veri İşleme

SQLite sürüm 3 için komut satırı arayüzü

Sözdizimi

       sqlite3 [seçenekler] [veritabanı_dosyası] [SQL]

Özet

sqlite3, sorguları etkileşimli olarak değerlendirebilen ve sonuçları birden çok biçimde görüntüleyebilen, SQLite kitaplığı için terminal tabanlı bir ön uçtur. sqlite3, toplu işleme özellikleri sağlamak için kabuk betikleri ve diğer uygulamalar içinde de kullanılabilir.

Açıklama

Etkileşimli bir sqlite3 oturumu başlatmak için sqlite3 komutunu çağırın ve isteğe bağlı olarak bir veritabanı dosyasının adını belirtin. Veritabanı dosyası mevcut değilse oluşturulacaktır. Veritabanı dosyası mevcutsa açılacaktır.

Örneğin, "mydata.db" adında yeni bir veritabanı dosyası oluşturmak, "memos" adında bir tablo oluşturmak ve bu tabloya birkaç kayıt eklemek için:

$ sqlite3 mydata.db SQLite version 3.43.2 2023-10-10 13:08:14 Enter ".help" for usage hints. sqlite> CREATE TABLE memos(text, priority INTEGER); sqlite> INSERT INTO memos VALUES('deliver project description', 10); sqlite> INSERT INTO memos VALUES('lunch with Christine', 100); sqlite> SELECT * FROM memos; deliver project description|10 lunch with Christine|100 sqlite>

Herhangi bir veritabanı adı belirtilmezse, mevcut veritabanı dosyalarına bağlanmak veya yeni veritabanı dosyaları oluşturmak için ATTACH SQL komutu kullanılabilir. ATTACH, aynı etkileşimli oturum içinde birden fazla veritabanına bağlanmak için de kullanılabilir. Bu, süreç boyunca şemayı değiştirmek de dahil olmak üzere, veritabanları arasında veri taşımak için kullanışlıdır.

İsteğe bağlı olarak, tek bir SQL ifadesi veya bir dizi SQL ifadesi tek bir argüman olarak sağlanabilir. Birden fazla ifade noktalı virgülle ayrılmalıdır.

Örneğin:

$ sqlite3 -line mydata.db 'SELECT * FROM memos WHERE priority > 20;' text = lunch with Christine priority = 100

SQLITE META-KOMUTLARI Etkileşimli yorumlayıcı; çıktı biçimini kontrol etmek, şu anda bağlı olan veritabanı dosyalarını incelemek veya bağlı veritabanları üzerinde yönetimsel işlemler gerçekleştirmek (dizinleri yeniden oluşturmak gibi) için kullanılebilecek bir dizi meta-komut sunar. Meta-komutların önüne her zaman bir nokta (.) konur.

Kullanılabilir meta-komutların bir listesi, herhangi bir zamanda '.help' komutu verilerek görüntülenebilir. Örneğin:

sqlite> .help

Kullanılabilir komutlar sürüme ve derleme seçeneklerine göre değişiklik gösterir, bu nedenle burada listelenmemiştir. Lütfen tüm kullanılabilir seçenekler için kendi yerel kopyanıza başvurun.

Seçenekler

sqlite3 aşağıdaki seçeneklere sahiptir:

-A ARGS... .archive ARGS komutunu çalıştırır ve çıkar

-append Veritabanını dosyanın sonuna ekler.

-ascii Çıktı modunu 'ascii' olarak ayarlar.

  • -bail: Bir hatayla karşılaştıktan sonra durur.

-batch Toplu (batch) G/Ç işlemlerini zorlar.

  • -box: Çıktı modunu 'box' olarak ayarlar.

-column Sorgu sonuçları, sütunları ayırmak ve çıktıyı hizalamak için boşluk karakterleri kullanılarak tablo benzeri bir biçimde görüntülenecektir.

-cmd komut Standart girdiyi (stdin) okumadan önce belirtilen komutu çalıştırır

  • -csv: Çıktı modunu CSV (virgülle ayrılmış değerler) olarak ayarlar.

-deserialize Veritabanını sqlite3_deserialize() kullanarak açar

  • -echo: Komutları yürütmeden önce yazdırır.

-init dosya SQL ifadeleri ve meta-komutların bir karışımını içerebilen dosyadan komutları okur ve yürütür.

-[no]header Başlıkları açar veya kapatır.

  • -help: Seçenekler hakkındaki yardımı gösterir ve çıkar.

-hexkey anahtar Veritabanını onaltılık (hexadecimal) şifreleme anahtarı ile açar.

  • -html: Sorgu sonuçları basit HTML tabloları olarak çıktı verilecektir.

-interactive Etkileşimli G/Ç işlemlerini zorlar.

-key anahtar Veritabanını ham (raw) şifreleme anahtarı ile açar

  • -json: Çıktı modunu 'json' olarak ayarlar.

  • -line: Sorgu sonuçları her satırda bir değer olacak şekilde görüntülenecek ve satırlar boş bir satırla ayrılacaktır. Betikler veya diğer programlar tarafından kolayca ayrıştırılabilecek şekilde tasarlanmıştır

  • -list: Sorgu sonuçları, her alan değeri arasında ayırıcı karakterle (varsayılan olarak |) görüntülenecektir. Varsayılandır.

-lookaside boyut n Lookaside belleği için boyut baytlık n adet girdi kullanır

-markdown Çıktı modunu 'markdown' olarak ayarlar.

-maxsize N Bir -deserialize veritabanının boyutunu N bayt ile sınırlar

-memtrace Tüm bellek tahsislerini izler.

-newline ayırıcı Çıktı satır ayırıcısını ayarlar. Varsayılan değer '\n'dir.

-nofollow Sembolik bağlar (symbolic links) içeren yolları açmayı reddeder.

-nonce dize Güvenli mod (safe-mode) kaçış nonce değerini dize olarak ayarlar

-nullvalue dize NULL değerleri temsil etmek için kullanılan dizeyi ayarlar. Varsayılan '' (boş dize) değeridir.

-quote Çıktı modunu quote (tırnak içine alınmış) olarak ayarlar.

-readonly Veritabanını salt okunur olarak açar.

  • -safe: Güvenli modu etkinleştirir.

-separator ayırıcı Çıktı alan ayırıcısını ayarlar. Varsayılan değer '|'dir.

-stats Her sonlandırmadan (finalize) önce bellek istatistiklerini yazdırır.

-textkey PAROLA_İFADESİ Şifreleme anahtarına dönüştürülecek (hash) metin.

-table Çıktı modunu 'table' olarak ayarlar.

  • -tabs: Çıktı modunu 'tabs' olarak ayarlar.

-version SQLite sürümünü gösterir.

-vfs isim Varsayılan VFS olarak isim değerini kullanır.

  • -zip: Dosyayı bir zip arşivi olarak açar.

Başlatma Dosyası

sqlite3, etkileşimli ortamın yapılandırmasını ayarlamak için bir başlatma dosyası okur. Başlatma süreci boyunca, daha önce belirtilmiş olan herhangi bir ayar geçersiz kılınabilir. Başlatma sırası aşağıdaki gibidir:

o Varsayılan yapılandırma şu şekilde oluşturulur:

mode = LIST separator = "|" main prompt = "sqlite> " continue prompt = " ...> "

o Eğer ${XDG_CONFIG_HOME}/sqlite3/sqliterc veya ~/.sqliterc dosyası mevcutsa, başlangıç sırasında ilk bulunan dosya işlenir. Genellikle yalnızca meta-komutlar içermelidir.

o Eğer -init seçeneği mevcutsa, belirtilen dosya işlenir.

o Diğer tüm komut satırı seçenekleri işlenir.

Ayrıca Bakınız

https://sqlite.org/cli.html https://sqlite.org/fiddle (CLI uygulamasının WebAssembly derlemesi) sqlite3-doc paketi.

Yazar

Bu kılavuz sayfası ilk olarak Debian GNU/Linux sistemi için Andreas Rottmann rotty@debian.org tarafından yazılmıştır (ancak başkaları tarafından da kullanılabilir). Sonrasında Bill Bumgarner bbum@mac.com, Laszlo Boszormenyi gcs@debian.hu, Scott Perry sqlite@numist.net ve sqlite3 geliştiricileri tarafından gözden geçirilmiştir.