SQLite Databas: Hur man skapar, öppnar, säkerhetskopierar och släpper filer

⚡ Smart sammanfattning

SQLite Databaser lagrar en hel datamängd i en enda lättviktsfil, vilket inte kräver någon server, installation eller konfiguration. Kommandoradsverktyget sqlite3 skapar, öppnar, fyller i, säkerhetskopierar och tar bort dessa databasfiler direkt från en enkel terminalsession.

  • 🗄️ Inget CREATE DATABASE-kommando: SQLite har ingen CREATE DATABASE-sats; om du kör sqlite3 skapar SchoolDB.db filen automatiskt.
  • 📂 Specifik plats: Kommandot .open skapar eller öppnar en databas vid valfri sökväg du anger.
  • 🧱 Schema från en fil: Piping en .sql-fil i sqlite3 bygger en ny databas som redan är ifylld med dess tabeller.
  • 💾 Säkerhetskopiering: Kommandot .backup kopierar en öppen databas till en ny fil för safekeeping.
  • 🗑️ Dropping en databas: SQLite har inget DROP DATABASE-kommando; om du tar bort databasfilen tas den bort helt.
  • 🤖 AI-hjälp: GitHub Copilot och text-till-SQL-verktyg genererar SQLite scheman och frågor från prompter på vanligt engelska.

SQLite Databas

SQLite databaser är mycket lätta. Till skillnad från andra databassystem krävs ingen konfiguration eller installation för att börja arbeta med en SQLite databas. Allt du behöver är SQLite biblioteket, som är under 500 KB, så att du kan börja arbeta med SQLite databaser och tabeller direkt.

SQLite SKAPA databas

Till skillnad från andra databashanteringssystem finns det inget CREATE DATABASE-kommando i SQLiteSå här skapar du en ny databas:

  • Öppna Windows Kommandoradsverktyget (cmd.exe) från Start-menyn, skriv "cmd" och öppna det.
  • Cmd-fönstret öppnas i standardanvändarmappen. På min dator är det "C:\Användare\MGA":

SQLite kommandotolken öppnades i standardanvändarmappen C:/Users/MGA

  • Från installations- och pakethandledningen bör du nu ha skapat en SQLite mappen i "C"-katalogen och kopierade sqlite3.exe till den.
  • Navigera sedan till var sqlite3.exe finns med hjälp av följande SQLite kommandorad:

Navigera till mappen sqlite3.exe i Windows kommandorad

Följande är den grundläggande syntaxen för sqlite3-kommandot för att skapa en databas:

sqlite3 SchoolDB.db

Detta skapar en ny databas med namnet "SchoolDB.db" i samma katalog där du kopierade din .exe-fil.

Om du navigerar till katalogen "c:\sqlite" ser du att filen "SchoolDB.db" har skapats, som i följande skärmdump:

Kör kommandot sqlite3 SchoolDB.db för att skapa databasen

SchoolDB.db-databasfilen skapad i katalogen c:/sqlite

Du kan bekräfta att databasen har skapats genom att skriva följande SQLite kommando:

.databases

Detta ger dig en lista över skapade databaser, och du bör se den nya databasen "SchoolDB.db" listad där:

Kommandot .databases listar den nyskapade SchoolDB-databasen

SQLite SKAPA databas på en specifik plats med Open

Om du vill skapa databasfilen på en specifik plats snarare än i mappen där sqlite3.exe finns, så här öppnar du en SQLite databasfil:

  • Navigera manuellt till mappen där sqlite3.exe finns, "C:\sqlite".
  • Double-klicka på sqlite3.exe för att öppna SQLite kommandorad.
  • Kommandot för att öppna en databasfil är:

Öppnar en SQLite databasfilen på en specifik plats med kommandot .open

.open c:/users/mga/desktop/SchoolDB.db

Detta skapar databasen "SchoolDB.db" och lagrar filen på den angivna platsen. Samma kommando öppnar även en befintlig databas, så att köra det igen öppnar helt enkelt den databasen:

.open c:/users/mga/desktop/SchoolDB.db

SQLite kontrollerar om ”SchoolDB.db” finns på den platsen. Om den finns, SQLite öppnar den; annars skapas en ny databas med det filnamnet.

SQLite skapa en databas och fylla den med tabeller från en fil

Om du har en .SQL-fil som innehåller tabellschemat och du vill skapa en ny databas med samma tabeller, förklarar följande exempel hur du gör detta.

Exempel:

Här skapar vi exempeldatabasen som används genomgående SQLite handledning, med namnet "SQLiteTutorialsDB”, och fyll den med tabeller enligt följande:

  • Öppna en textfil och klistra in följande SQLite kommandon i den:
CREATE TABLE [Departments] ( 
	[DepartmentId] INTEGER  NOT NULL PRIMARY KEY, 
	[DepartmentName] NVARCHAR(50)  NOT NULL  
); 
CREATE TABLE [Students] (  
	[StudentId] INTEGER  PRIMARY KEY NOT NULL,
	[StudentName] NVARCHAR(50) NOT NULL, 
	[DepartmentId] INTEGER  NULL,   
	[DateOfBirth] DATE  NULL  
);     
CREATE TABLE [Subjects] (  
	[SubjectId] INTEGER  NOT NULL PRIMARY KEY,  
	[SubjectName] NVARCHAR(50)  NOT NULL  
); 
CREATE TABLE [Marks] (  
	[StudentId] INTEGER  NOT NULL,  
	[SubjectId] INTEGER  NOT NULL,  
	[Mark] INTEGER  NULL  
);

Koden ovan skapar fyra tabeller, enligt följande:

  • Tabellen ”Avdelningar” med följande kolumner:
    • ”Avdelnings-ID”, ett heltalsavdelnings-ID, deklarerat som en PRIMÄRNYCKEL.
    • ”Avdelningsnamn”, en sträng med avdelningsnamn som inte tillåter nullvärden (INTE NULL).
  • Tabellen ”Elever” med följande kolumner:
    • ”StudentId”, ett heltal deklarerat som en PRIMÄRNYCKEL.
    • ”StudentName”, studentnamnet, vilket inte tillåter ett nullvärde.
    • ”Avdelnings-ID”, ett heltal som refererar till avdelnings-ID:t i tabellen Avdelningar.
    • ”Födelsedatum”, studentens födelsedatum.
  • Tabellen ”Ämnen” med följande kolumner:
    • ”SubjectId”, ett heltal deklarerat som en PRIMÄRNYCKEL.
    • ”Ämnesnamn”, ett strängvärde som inte tillåter nullvärden.
  • Tabellen ”Poäng” med följande kolumner:
    • ”StudentId”, ett heltal som anger ett student-ID.
    • ”Ämnes-ID”, ett heltal som anger ett ämnes-ID.
    • ”Poäng”, det poäng en elev får i ett ämne, ett heltal som tillåter nullvärden.
  • Spara filen som "SQLiteTutorialsDB.sql” på samma plats som sqlite3.exe.
  • Öppna cmd.exe och navigera till katalogen där sqlite3.exe finns.
  • Skriv följande kommando:
sqlite3 SQLiteTutorialsDB.db < SQLiteTutorialsDB.sql

En ny databasSQLite”TutorialsDB” skapas och filen ”SQLite”TutorialsDB.db” placeras i samma katalog, enligt följande:

Ocuco-landskapet SQLiteHandledningsdatabasen skapades från .sql-schemafilen.

Du kan bekräfta att tabellerna har skapats genom att öppna databasen vi just skapade:

.open SQLiteTutorialsDB.db

Skriv sedan följande kommando:

.tables

Detta ger dig listan över tabeller i “SQLiteTutorialsDB”, och du borde se de fyra tabellerna vi just skapade:

Kommandot .tables listar de fyra tabeller som skapats i SQLiteTutorialsDB

Med exempeldatabasen och dess fyra tabeller på plats kan du gå vidare till att köra SQLite INSERT-, UPDATE- och DELETE-frågor mot uppgifterna.

SQLite Backup & Databas

För att säkerhetskopiera en databas måste du först öppna databasen enligt följande:

  • Navigera till mappen "C:\sqlite" och dubbelklicka sedan på sqlite3.exe för att öppna den.
  • Öppna databasen med följande fråga:
.open c:/sqlite/sample/SchoolDB.db

Det här kommandot öppnar en databas som finns i katalogen "c:/sqlite/sample/".

Om den finns i samma katalog som sqlite3.exe behöver du inte ange någon plats, så här:

.open SchoolDB.db

För att säkerhetskopiera databasen skriver du sedan följande kommando. Detta säkerhetskopierar hela databasen till en ny fil med titeln "SchoolDB.db" i samma katalog:

.backup SchoolDB.db

Om du inte ser några fel efter att ha kört det kommandot har säkerhetskopian skapats.

SQLite Släpp databas

Till skillnad från andra databashanteringssystem finns det inget DROP DATABASE-kommando i SQLiteOm du vill släppa en databas i SQLite, allt du behöver göra är att radera databasfilen.

Anmärkningar:

  • Du kan inte skapa två databaser på samma plats med samma namn; databasnamnet är unikt inom en katalog.
  • Databasnamn är skiftlägesokänsliga.
  • Det krävs inga privilegier för att skapa databaserna.

Vanliga frågor

SQLite är en serverlös motor som lagrar en hel databas i en plattformsoberoende fil. Den är under 500 KB, kräver ingen installation eller konfiguration och körs inbäddad i applikationer snarare än på en separat server.

SQLite Databaser använder vanligtvis filändelserna .db, .sqlite eller .db3, och alla tre är identiska. SQLite identifierar sina filer med en intern rubrik, så tillägget är bara en etikett.

Ja. SQLite är programvara i allmän egendom, helt gratis för personligt och kommersiellt bruk utan licens eller royalty. Dess källkod och kommandoradsverktyg finns på den officiella webbplatsen. SQLite webbsajt.

Öppna sqlite3 med ett databasnamn och kör .restore med säkerhetskopian. För en .sql-dump, kör sqlite3 newdb.db < backup.sql för att spela upp varje sats och återskapa data.

SQLite är serverlös och filbaserad, kräver ingen installation, så den passar små appar för en enda användare. MySQL kör en serverprocess och hanterar många samtidiga skrivare, vilket passar större system med flera användare.

SQLite är inbäddad i mobilappar, webbläsare, skrivbordsprogram och IoT-enheter eftersom den fungerar offline utan server. Den passar lokal lagring, prototyper och läsintensiva arbetsbelastningar.

Ja. GitHub Copilot skriver CREATE TABLE-satser och SQL-frågor från en kort kommentar eller en vanlig engelsk prompt, och förklarar befintliga scheman. Granska alltid genererad SQL innan du kör den.

Text-till-SQL-verktyg och stora språkmodeller förvandlar frågor på vanlig engelska till SQLite uttalanden genom att läsa ditt schema. AI-assistenter genererar, optimerar och förklarar frågor, även om mänsklig granskning av utdata fortfarande är avgörande.

Sammanfatta detta inlägg med: