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

Keluarkan Hasil Kueri SQLite sebagai Pernyataan INSERT

Antarmuka baris perintah SQLite memiliki perintah titik praktis yang disebut .mode , yang memungkinkan Anda mengubah cara hasil kueri diformat.

Salah satu nilai yang dapat Anda gunakan dengan perintah ini adalah insert . Menggunakan nilai ini menghasilkan semua hasil kueri berikutnya yang diformat sebagai SQL INSERT pernyataan.

Pengaturan Default SQLite

Pertama, seperti inilah hasil normal Anda (dengan asumsi Anda menggunakan setelan default SQLite).

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

Hasil sebagai Pernyataan INSERT

Nah berikut ini cara mengubahnya agar hasilnya diformat sebagai SQL INSERT pernyataan:

.mode insert Products2

Pernyataan itu menentukan Produk2 sebagai tabel tempat data akan dimasukkan. Anda perlu menentukan nama tabel yang ingin Anda masukkan datanya.

Sekarang ketika saya menjalankan SELECT . sebelumnya pernyataan lagi, mereka output sebagai INSERT pernyataan.

SELECT * FROM Products;

Hasil:

INSERT INTO Products2 VALUES(1,'Widget Holder',139.49999999999999999);
INSERT INTO Products2 VALUES(2,'Widget Opener',89.700000000000002838);
INSERT INTO Products2 VALUES(3,'Widgets - 6 Pack',374.19999999999998862);
INSERT INTO Products2 VALUES(4,'Blue Widget',63.000000000000000001);

Simpan Format ini

Saat Anda membuka SQLite di jendela terminal baru, Anda akan kehilangan pengaturan ini. Dengan kata lain, SQLite akan kembali ke format output default (yang merupakan daftar yang dipisahkan pipa).

Namun, Anda sebenarnya dapat menentukan pengaturan default Anda sendiri dengan menyimpan pengaturan di atas ke dalam file teks.

Untuk melakukannya, masukkan yang berikut ini ke dalam file teks:

.mode insert NewTable

Kemudian simpan file tersebut sebagai .sqliterc di direktori home/(pengguna) Anda.

Sekarang ketika Anda terhubung ke SQLite di jendela terminal baru, itu akan menggunakan pengaturan tersebut alih-alih pengaturan default SQLite.

Contoh ini menggunakan Tabel Baru sebagai tabel target tetapi Anda dapat menggunakan apa pun yang Anda inginkan.

Jelas, satu-satunya masalah dengan melakukan ini adalah Anda perlu mengubah nama tabel jika berubah. Dan jika Anda perlu repot melakukan itu, mungkin lebih mudah untuk mengubahnya dengan cepat dengan .mode insert NewTable (Alih-alih perlu mencari/mengganti nama tabel). Bagaimanapun, ini adalah opsi jika Anda membutuhkannya.


  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 JSON_EACH()

  2. jika tabel saya memiliki 4 kolom dan saya ingin mengambil kolom ke-3 apa yang harus saya lakukan.

  3. Kembalikan Baris yang Hanya Mengandung Karakter Non-Alfanumerik di SQLite

  4. Mengapa kita membutuhkan klausa GLOB di SQLite?

  5. Buat tabel baru di DB yang ada di kelas SQLiteOpenHelper yang terpisah