sql >> Database teknologi >  >> RDS >> SQLite

5 måder at køre et SQL-script fra en fil i SQLite

SQLite giver os mulighed for at køre scripts direkte fra en fil. Dette kan især være nyttigt, når du har et stort script (såsom at oprette en masse databasetabeller og indsætte data i disse tabeller).

Nedenfor er fem måder at køre SQL-scripts direkte fra en fil i SQLite.

Kattekommandoen

Følgende kode viser den første mulighed for at køre et SQL-script fra en fil i SQLite.

cat create_table.sql | sqlite3 Test.db

Dette antager, at mit script hedder create_table.sql og jeg vil køre det mod Test.db database.

Jeg var i stand til at køre dette script direkte fra mit terminalvindue uden at oprette forbindelse til SQLite ved hjælp af SQLite3 kommando.

.read-kommandoen

Hvis du allerede er forbundet til SQLite, kan du bruge .read kommando.

.read insert_data.sql

Dette eksempel læser scriptet insert_data.sql fra den aktuelle mappe/mappe. Angiv den fulde sti, hvis du er i en anden mappe.

Brug kommandoen .read uden at åbne SQLite

Her er en anden måde at bruge .read på kommando.

sqlite3 Test.db ".read insert_data.sql"

Hvis du gør dette, indsættes dataene i den angivne database fra kommandolinjen.

Forskellen mellem dette eksempel og det forrige er, at det forrige blev lavet inde fra SQLite, efter at du allerede havde oprettet forbindelse. Men med dette eksempel kører du det uden for SQLite.

Hvis du er på Windows, skal du muligvis gøre dette:

sqlite3.exe Test.db ".read insert_data.sql"

Omdiriger inputtet til databasen, når der oprettes forbindelse til SQLite

Følgende metode omdirigerer input til databasefilen, når du bruger sqlite3 for at oprette forbindelse til SQLite og åbne databasen.

sqlite3 Test.db < insert_data.sql

-init-indstillingen

Her er endnu en måde, hvorpå du kan køre SQL-scripts fra en fil med SQLite.

sqlite3 Test.db -init insert_data.sql


  1. Sådan installeres SSMS

  2. Konverter månedsnavn til månedsnummer i PostgreSQL

  3. Valg af anden række i en tabel ved hjælp af rownum

  4. JDBCTemplate sæt indlejret POJO med BeanPropertyRowMapper