SQLite Database: Sådan oprettes, åbnes, sikkerhedskopieres og slippes filer

⚡ Smart opsummering

SQLite Databaser gemmer et helt datasæt i en enkelt letvægtsfil, der ikke kræver nogen server, installation eller konfiguration. Kommandolinjeværktøjet sqlite3 opretter, åbner, udfylder, sikkerhedskopierer og fjerner disse databasefiler direkte fra en simpel terminalsession.

  • 🗄️ Ingen CREATE DATABASE-kommando: SQLite har ingen CREATE DATABASE-sætning; kørsel af sqlite3 SchoolDB.db opretter filen automatisk.
  • 📂 Specifik placering: Kommandoen .open opretter eller åbner en database i en hvilken som helst sti, du navngiver.
  • 🧱 Skema fra en fil: Piping En .sql-fil i sqlite3 opbygger en ny database, der allerede er udfyldt med dens tabeller.
  • 💾 Backup: Kommandoen .backup kopierer en åben database til en ny fil til safekeeping.
  • 🗑️ Dropping en database: SQLite har ingen DROP DATABASE-kommando; hvis du sletter databasefilen, fjernes den helt.
  • 🤖 AI assistance: GitHub Copilot og tekst-til-SQL-værktøjer genererer SQLite skemaer og forespørgsler fra prompter på almindeligt engelsk.

SQLite Database

SQLite databaser er meget lette. I modsætning til andre databasesystemer kræves der ingen konfiguration eller installation for at begynde at arbejde på en SQLite databasen. Alt du behøver er SQLite biblioteket, som er under 500 KB, så du kan begynde at arbejde med SQLite databaser og tabeller direkte.

SQLite OPRET database

I modsætning til andre databasestyringssystemer er der ingen CREATE DATABASE-kommando i SQLiteSådan kan du oprette en ny database:

  • Åbne Windows Kommandolinjeværktøjet (cmd.exe) i Start-menuen, skriv “cmd” og åbn det.
  • Cmd-vinduet åbnes i standardbrugermappen. På min maskine er det “C:\Users\MGA”:

SQLite kommandoprompten åbnet i standardbrugermappen C:/Users/MGA

  • Fra installations- og pakkevejledningen skulle du nu have oprettet en SQLite mappen i "C"-mappen og kopierede sqlite3.exe til den.
  • Naviger derefter til, hvor sqlite3.exe er placeret, ved hjælp af følgende SQLite kommandolinje:

Navigering til mappen sqlite3.exe i Windows kommandolinjen

Følgende er den grundlæggende syntaks for sqlite3-kommandoen til at oprette en database:

sqlite3 SchoolDB.db

Dette vil oprette en ny database med navnet "SchoolDB.db" i den samme mappe, hvor du kopierede din .exe-fil.

Hvis du navigerer til mappen “c:\sqlite”, vil du se, at filen “SchoolDB.db” er blevet oprettet, som i følgende skærmbillede:

Kør sqlite3 SchoolDB.db-kommandoen for at oprette databasen

SchoolDB.db-databasefilen, der er oprettet i c:/sqlite-mappen

Du kan bekræfte, at databasen er oprettet, ved at skrive følgende SQLite kommando:

.databases

Dette giver dig en liste over oprettede databaser, og du bør se den nye database "SchoolDB.db" angivet der:

Kommandoen .databases viser den nyoprettede SchoolDB-database

SQLite OPRET database på en bestemt placering ved hjælp af Open

Hvis du vil oprette databasefilen på en bestemt placering i stedet for i den mappe, hvor sqlite3.exe er placeret, kan du se på følgende måde: SQLite databasefil:

  • Naviger manuelt til den mappe, hvor sqlite3.exe er placeret, “C:\sqlite”.
  • Double-klik på sqlite3.exe for at åbne SQLite kommandolinje.
  • Kommandoen til at åbne en databasefil er:

Åbning af en SQLite databasefil på en bestemt placering med .open-kommandoen

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

Dette opretter databasen “SchoolDB.db” og gemmer filen på den angivne placering. Den samme kommando åbner også en eksisterende database, så når du kører den igen, åbnes blot databasen igen:

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

SQLite kontrollerer om “SchoolDB.db” findes på den placering. Hvis den findes, SQLite åbner den; ellers oprettes en ny database med det samme filnavn.

SQLite oprette en database og udfylde den med tabeller fra en fil

Hvis du har en .SQL-fil, der indeholder tabelskemaet, og du vil oprette en ny database med de samme tabeller, forklarer følgende eksempel, hvordan du gør dette.

Eksempel:

Her opretter vi den eksempeldatabase, der bruges i hele dette SQLite tutorial med navnet "SQLiteTutorialsDB”, og udfyld den med tabeller som følger:

  • Åbn en tekstfil og indsæt følgende SQLite kommandoer ind 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 ovenfor opretter fire tabeller som følger:

  • Tabellen "Afdelinger" med følgende kolonner:
    • "Afdelings-id", et heltalsafdelings-id, deklareret som en PRIMÆR NØGLE.
    • "Afdelingsnavn", en streng med et afdelingsnavn, der ikke tillader null-værdier (NOT NULL).
  • Tabellen "Elever" med følgende kolonner:
    • "StudentId", et heltal deklareret som en PRIMÆR NØGLE.
    • “StudentName”, elevnavnet, som ikke tillader en null-værdi.
    • "Afdelings-id", et heltal, der refererer til afdelings-id'et i afdelingstabellen.
    • "Fødselsdato", elevens fødselsdato.
  • Tabellen "Emner" med følgende kolonner:
    • "SubjectId", et heltal deklareret som en PRIMÆR NØGLE.
    • "Emnenavn", en strengværdi, der ikke tillader null-værdier.
  • Tabellen "Marker" med følgende kolonner:
    • "StudentId", et heltal, der angiver et studie-ID.
    • "Emne-id", et heltal, der angiver et emne-id.
    • "Marker", den karakter en elev får i et fag, et heltal, der tillader nulværdier.
  • Gem filen som "SQLiteTutorialsDB.sql” på samme placering som sqlite3.exe.
  • Åbn cmd.exe og naviger til den mappe, hvor sqlite3.exe er placeret.
  • Skriv følgende kommando:
sqlite3 SQLiteTutorialsDB.db < SQLiteTutorialsDB.sql

En ny database"SQLite"TutorialsDB" oprettes, og filen "SQLite"TutorialsDB.db" placeres i samme mappe som følger:

  SQLiteTutorialsDB-database oprettet fra .sql-skemafilen

Du kan bekræfte, at tabellerne er oprettet, ved at åbne den database, vi lige har oprettet:

.open SQLiteTutorialsDB.db

Skriv derefter følgende kommando:

.tables

Dette giver dig listen over tabeller i “SQLiteTutorialsDB”, og du burde se de fire tabeller, vi lige har oprettet:

Kommandoen .tables viser de fire tabeller, der er oprettet i SQLiteTutorialsDB

Når eksempeldatabasen og dens fire tabeller er på plads, kan du gå videre til at køre SQLite INSERT-, UPDATE- og DELETE-forespørgsler imod dataene.

SQLite Backup & Database

For at sikkerhedskopiere en database skal du først åbne den på følgende måde:

  • Naviger til mappen "C:\sqlite", og dobbeltklik derefter på sqlite3.exe for at åbne den.
  • Åbn databasen ved hjælp af følgende forespørgsel:
.open c:/sqlite/sample/SchoolDB.db

Denne kommando åbner en database, der er placeret i mappen “c:/sqlite/sample/”.

Hvis den er i samme mappe som sqlite3.exe, behøver du ikke at angive en placering, som denne:

.open SchoolDB.db

For at sikkerhedskopiere databasen skal du derefter skrive følgende kommando. Dette sikkerhedskopierer hele databasen til en ny fil med titlen "SchoolDB.db" i samme mappe:

.backup SchoolDB.db

Hvis du ikke ser nogen fejl efter at have udført kommandoen, er sikkerhedskopien oprettet.

SQLite Slip database

I modsætning til andre databasestyringssystemer er der ingen DROP DATABASE-kommando i SQLiteHvis du vil placere en database i SQLite, alt du skal gøre er at slette databasefilen.

Bemærkninger:

  • Du kan ikke oprette to databaser på samme placering med samme navn; databasenavnet er unikt inden for en mappe.
  • Databasenavne skelner mellem store og små bogstaver.
  • Der kræves ingen privilegier for at oprette databaserne.

Ofte Stillede Spørgsmål

SQLite er en serverløs motor, der opbevarer en hel database i én fil på tværs af platforme. Den er under 500 KB, kræver ingen installation eller konfiguration og kører integreret i applikationer i stedet for på en separat server.

SQLite Databaser bruger almindeligvis filtypenavnene .db, .sqlite eller .db3, og alle tre er identiske. SQLite identificerer sine filer med en intern header, så filtypen er kun en etiket.

Ja. SQLite er software i offentligt domæne, helt gratis til personlig og kommerciel brug uden licens eller royalties. Dens kildekode og kommandolinjeværktøjer findes på den officielle [website address/website ... SQLite internet side.

Åbn sqlite3 med et databasenavn og kør .restore med backupfilen. For en .sql-dump skal du køre sqlite3 newdb.db < backup.sql for at afspille alle sætninger og genopbygge dataene.

SQLite er serverløs og filbaseret, kræver ingen opsætning, så den er velegnet til små enkeltbrugerapps. MySQL kører en serverproces og håndterer mange samtidige skrivere, hvilket passer til større flerbrugersystemer.

SQLite er integreret i mobilapps, browsere, desktop-software og IoT-enheder, fordi det fungerer offline uden server. Det er egnet til lokal lagring, prototyper og læsetunge arbejdsbyrder.

Ja. GitHub Copilot skriver CREATE TABLE-sætninger og SQL-forespørgsler fra en kort kommentar eller en almindelig engelsk prompt og forklarer eksisterende skemaer. Gennemgå altid genereret SQL, før du kører den.

Tekst-til-SQL-værktøjer og store sprogmodeller forvandler spørgsmål på almindeligt engelsk til SQLite udsagn ved at læse dit skema. AI-assistenter genererer, optimerer og forklarer forespørgsler, selvom menneskelig gennemgang af outputtet stadig er afgørende.

Opsummer dette indlæg med: