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.
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":
- 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:
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:
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:
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:
.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:
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:
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.









