SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Format Hasil Kueri SQLite sebagai Kolom dengan Header Kolom

Secara default, saat Anda terhubung ke shell baris perintah SQLite dan menjalankan kueri, hasilnya dikembalikan sebagai daftar yang dipisahkan pipa.

Anda mungkin memperhatikan bahwa hasil tidak menyertakan nama kolom, yang dapat membuat hasil Anda membingungkan jika Anda mencoba membacanya, terutama jika kueri menghasilkan banyak kolom.

Untungnya, ada cara mudah untuk memformat output sehingga ditampilkan sebagai kolom dengan header kolom.

Keluaran Default

Sebagai contoh, berikut ini cara antarmuka baris perintah SQLite mengeluarkan hasil kueri secara default:

SELECT * FROM Products;

Hasil:

1|Widget Holder|139.5
2|Widget Opener|89.7
3|Widgets - 6 Pack|374.2
4|Blue Widget|63.0

Jadi tidak ada tajuk kolom dan ditampilkan sebagai daftar yang dipisahkan pipa.

Tambahkan Header Kolom

Untuk menambahkan nama kolom ke setiap kolom gunakan .headers on .

.headers on
SELECT * FROM Products;

Hasil:

ProductId|ProductName|Price
1|Widget Holder|139.5
2|Widget Opener|89.7
3|Widgets - 6 Pack|374.2
4|Blue Widget|63.0

Anda dapat menonaktifkan header dengan menggunakan .headers off .

Memformat Hasil sebagai Kolom

Anda juga dapat menggunakan .mode column untuk memformat hasil sebagai kolom.

.mode column
SELECT * FROM Products;

Hasil:

ProductId   ProductName    Price     
----------  -------------  ----------
1           Widget Holder  139.5     
2           Widget Opener  89.7      
3           Widgets - 6 P  374.2     
4           Blue Widget    63.0      

Jika Anda perlu mengembalikannya ke format default, Anda dapat menggunakan .mode list .

Ubah Lebar Kolom

Anda mungkin memperhatikan bahwa dalam contoh sebelumnya, salah satu nama produk telah terpotong. Ini karena lebih lebar dari lebar kolom.

Secara default, setiap kolom memiliki lebar antara 1 dan 10 karakter, bergantung pada nama header kolom dan lebar kolom pertama data. Data yang terlalu lebar untuk dimasukkan ke dalam kolom akan terpotong.

Namun, Anda dapat menggunakan .width perintah dot untuk mengatur kolom ke lebar tertentu.

Berikut cara memperbaiki contoh sebelumnya agar produk ketiga tidak terpotong.

.width 0 16 0
SELECT * FROM Products;

Hasil:

ProductId   ProductName       Price     
----------  ----------------  ----------
1           Widget Holder     139.5     
2           Widget Opener     89.7      
3           Widgets - 6 Pack  374.2     
4           Blue Widget       63.0      

Anda mungkin bertanya-tanya mengapa saya menyetel kolom pertama dan ketiga ke nol?

Menggunakan nilai 0 sebenarnya membuat kolom menyesuaikan diri (sampai titik tertentu). Menentukan 0 set kolom ke yang lebih besar dari tiga angka; 10, lebar header, dan lebar baris pertama data.

Dalam kasus saya, ini berfungsi dengan baik untuk kolom pertama dan ketiga, tetapi tidak untuk kolom kedua. Oleh karena itu, saya menyetel kolom itu ke 16 (berapa banyak karakter yang digunakan produk ketiga).

Setel Ulang ke Default

Jika Anda perlu mengatur ulang output secara singkat untuk menggunakan default SQLite (yaitu daftar yang dipisahkan pipa tanpa header kolom), Anda cukup membuka jendela terminal baru dan menjalankan perintah Anda dari sana. SQLite akan menggunakan pengaturan default dalam kasus ini.

Atau jika Anda ingin mengatur ulang jendela terminal saat ini untuk menggunakan pengaturan default, Anda selalu dapat menggunakan yang berikut ini:

.headers off
.mode list
.separator "|"

Dalam hal ini, saya menambahkan .separator perintah dot, untuk berjaga-jaga jika Anda sebelumnya telah mengubah pemisah.

Jika Anda bertanya-tanya, ya, Anda dapat menggunakan .separator ", " untuk menampilkan hasil sebagai daftar yang dipisahkan koma.

Bertahan di Pengaturan Kolom

Seperti yang disebutkan, setiap kali Anda membuka jendela terminal baru untuk terhubung ke SQLite, kueri akan kembali ke format default SQLite (daftar yang dipisahkan pipa).

Untuk menyelamatkan diri Anda dari keharusan memasukkan kembali perintah di atas setiap kali Anda terhubung ke SQLite, Anda dapat memasukkannya ke dalam .sqliterc mengajukan.

Misalnya, buka file teks kosong dan masukkan berikut ini:

.mode column
.headers on

Simpan file sebagai .sqliterc ke direktori home pengguna, dan SQLite akan menggunakannya setiap kali terhubung.

Misalnya, jika direktori home pengguna adalah /Users/bart , maka Anda akan menempatkannya di dalam direktori itu, sehingga terletak di /Users/bart/.sqliterc .

Ini adalah file tersembunyi, jadi Anda mungkin mendapatkan berbagai petunjuk yang meminta Anda untuk mengonfirmasi, dll, tergantung pada sistem Anda. Cukup setujui perintahnya sampai disimpan di direktori home pengguna.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite MAX

  2. Bagaimana Round() Bekerja di SQLite

  3. Menyimpan konfigurasi di android

  4. Bagaimana cara menerjemahkan fungsi array_agg PostgreSQL ke SQLite?

  5. android.database.sqlite.SQLiteCantOpenDatabaseException:kesalahan tidak diketahui (kode 14):Tidak dapat membuka database