SQLite Database: Hvordan lage, åpne, sikkerhetskopiere og slippe filer

⚡ Smart oppsummering

SQLite Databaser lagrer et helt datasett i én enkelt lettvektsfil, som ikke krever noen server, installasjon eller konfigurasjon. Kommandolinjeverktøyet sqlite3 oppretter, åpner, fyller ut, sikkerhetskopierer og fjerner disse databasefilene direkte fra en enkel terminaløkt.

  • 🗄️ Ingen CREATE DATABASE-kommando: SQLite har ingen CREATE DATABASE-setning; kjøring av sqlite3 SchoolDB.db oppretter filen automatisk.
  • 📂 Spesifikk plassering: .open-kommandoen oppretter eller åpner en database i en hvilken som helst bane du navngir.
  • 🧱 Skjema fra en fil: Piping En .sql-fil i sqlite3 bygger en ny database som allerede er fylt med tabellene.
  • 💾 backup: .backup-kommandoen kopierer en åpen database til en ny fil for safekeeping.
  • 🗑️ Dropping en database: SQLite har ingen DROP DATABASE-kommando; hvis du sletter databasefilen, fjernes den fullstendig.
  • 🤖 AI-hjelp: GitHub Copilot og tekst-til-SQL-verktøy genererer SQLite skjemaer og spørringer fra ledetekster på vanlig engelsk.

SQLite Database

SQLite databaser er svært lette. I motsetning til andre databasesystemer kreves det ingen konfigurasjon eller installasjon for å begynne å jobbe med en SQLite databasen. Alt du trenger er SQLite biblioteket, som er under 500 KB, slik at du kan begynne å jobbe med SQLite databaser og tabeller direkte.

SQLite LAG database

I motsetning til andre databasesystemer finnes det ingen CREATE DATABASE-kommando i SQLiteSlik kan du opprette en ny database:

  • Åpne Windows Kommandolinjeverktøyet (cmd.exe) fra Start-menyen, skriv inn «cmd» og åpne det.
  • Cmd-vinduet åpnes i standard brukermappe. På maskinen min er det «C:\Users\MGA»:

SQLite ledeteksten åpnet i standard brukermappen C:/Users/MGA

  • Fra installasjons- og pakkerveiledningen skal du nå ha opprettet en SQLite mappen i «C»-katalogen og kopierte sqlite3.exe til den.
  • Naviger deretter til hvor sqlite3.exe ligger ved å bruke følgende SQLite kommandolinje:

Navigering til sqlite3.exe-mappen i Windows kommandolinje

Følgende er den grunnleggende syntaksen for sqlite3-kommandoen for å opprette en database:

sqlite3 SchoolDB.db

Dette vil opprette en ny database med navnet «SchoolDB.db» i samme katalog der du kopierte .exe-filen.

Hvis du navigerer til katalogen «c:\sqlite», vil du se at filen «SchoolDB.db» er opprettet, som i følgende skjermbilde:

Kjør sqlite3 SchoolDB.db-kommandoen for å opprette databasen

SchoolDB.db-databasefilen som ble opprettet i c:/sqlite-katalogen

Du kan bekrefte at databasen er opprettet ved å skrive følgende SQLite kommando:

.databases

Dette gir deg listen over databaser som er opprettet, og du bør se den nye databasen «SchoolDB.db» oppført der:

.databases-kommandoen viser den nyopprettede SchoolDB-databasen

SQLite LAG database på en bestemt plassering ved å bruke Åpne

Hvis du vil opprette databasefilen på et bestemt sted i stedet for i mappen der sqlite3.exe ligger, kan du åpne en slik fil. SQLite databasefil:

  • Naviger manuelt til mappen der sqlite3.exe ligger, «C:\sqlite».
  • Double-klikk på sqlite3.exe for å åpne SQLite kommandolinje.
  • Kommandoen for å åpne en databasefil er:

Åpning av en SQLite databasefilen på et bestemt sted med .open-kommandoen

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

Dette oppretter databasen «SchoolDB.db» og lagrer filen på den angitte plasseringen. Den samme kommandoen åpner også en eksisterende database, så å kjøre den på nytt åpner ganske enkelt den databasen på nytt:

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

SQLite sjekker om «SchoolDB.db» finnes på den plasseringen. Hvis den finnes, SQLite åpner den; ellers opprettes en ny database med det filnavnet.

SQLite opprette en database og fyll den med tabeller fra en fil

Hvis du har en .SQL-fil som inneholder tabellskjemaet, og du vil opprette en ny database med de samme tabellene, forklarer følgende eksempel hvordan du gjør dette.

Eksempel:

Her lager vi eksempeldatabasen som brukes gjennom hele dette SQLite veiledning, kalt «SQLiteTutorialsDB», og fyll den med tabeller som følger:

  • Åpne en tekstfil og lim inn følgende SQLite kommandoer inn 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 lager fire tabeller, som følger:

  • Tabellen «Avdelinger», med følgende kolonner:
    • «Avdelings-ID», et heltalls avdelings-ID, deklarert som en PRIMÆRNØKKEL.
    • «Avdelingsnavn», en streng med avdelingsnavn som ikke tillater nullverdier (IKKE NULL).
  • Tabellen «Studenter», med følgende kolonner:
    • «StudentId», et heltall deklarert som en PRIMÆRNØKKEL.
    • «StudentName», studentnavnet, som ikke tillater en nullverdi.
    • «Avdelings-ID», et heltall som refererer til avdelings-ID-en i avdelingstabellen.
    • «Fødselsdato», studentens fødselsdato.
  • Tabellen «Emner», med følgende kolonner:
    • «Emne-ID», et heltall deklarert som en PRIMÆRNØKKEL.
    • «Emnenavn», en strengverdi som ikke tillater nullverdier.
  • Tabellen «Poeng» med følgende kolonner:
    • «StudentId», et heltall som indikerer en student-ID.
    • «Emne-ID», et heltall som indikerer en emne-ID.
    • «Karakter», karakteren en student får i et fag, et heltall som tillater nullverdier.
  • Lagre filen som «SQLiteTutorialsDB.sql” på samme sted som sqlite3.exe.
  • Åpne cmd.exe og naviger til mappen der sqlite3.exe ligger.
  • Skriv følgende kommando:
sqlite3 SQLiteTutorialsDB.db < SQLiteTutorialsDB.sql

En ny databaseSQLite«TutorialsDB» opprettes, og filen «SQLite«TutorialsDB.db» plasseres i samme katalog, som følger:

Ocuco SQLiteTutorialsDB-database opprettet fra .sql-skjemafilen

Du kan bekrefte at tabellene er opprettet ved å åpne databasen vi nettopp opprettet:

.open SQLiteTutorialsDB.db

Skriv deretter følgende kommando:

.tables

Dette gir deg listen over tabeller i «SQLiteTutorialsDB», og du skal se de fire tabellene vi nettopp opprettet:

.tables-kommandoen som viser de fire tabellene som ble opprettet i SQLiteVeiledningerDB

Når eksempeldatabasen og de fire tabellene er på plass, kan du gå videre til å kjøre SQLite INNSETT-, OPPDATERINGS- og SLETTINGS-spørringer mot dataene.

SQLite Sikkerhetskopiering og database

For å sikkerhetskopiere en database må du først åpne den, slik som følger:

  • Naviger til mappen «C:\sqlite», og dobbeltklikk deretter på sqlite3.exe for å åpne den.
  • Åpne databasen ved hjelp av følgende spørring:
.open c:/sqlite/sample/SchoolDB.db

Denne kommandoen åpner en database som ligger i katalogen «c:/sqlite/sample/».

Hvis den er i samme katalog som sqlite3.exe, trenger du ikke å spesifisere en plassering, slik som dette:

.open SchoolDB.db

For å sikkerhetskopiere databasen, skriv deretter følgende kommando. Dette sikkerhetskopierer hele databasen til en ny fil med navnet «SchoolDB.db» i samme katalog:

.backup SchoolDB.db

Hvis du ikke ser noen feil etter at du har utført kommandoen, er sikkerhetskopien opprettet.

SQLite Slipp databasen

I motsetning til andre databasesystemer finnes det ingen DROP DATABASE-kommando i SQLiteHvis du vil slippe en database i SQLite, alt du trenger å gjøre er å slette databasefilen.

Merknader:

  • Du kan ikke opprette to databaser på samme sted med samme navn; databasenavnet er unikt i en katalog.
  • Databasenavn skiller ikke mellom store og små bokstaver.
  • Det kreves ingen rettigheter for å lage databasene.

Spørsmål og svar

SQLite er en serverløs motor som lagrer en hel database i én plattformuavhengig fil. Den er under 500 KB, krever ingen installasjon eller konfigurasjon og kjører innebygd i applikasjoner i stedet for på en separat server.

SQLite Databaser bruker vanligvis filtypene .db, .sqlite eller .db3, og alle tre er identiske. SQLite identifiserer filene sine med en intern header, så utvidelsen er bare en etikett.

Ja. SQLite er programvare i offentlig eiendom, helt gratis for personlig og kommersiell bruk uten lisens eller royalty. Kildekoden og kommandolinjeverktøyene er på den offisielle SQLite nettside.

Åpne sqlite3 med et databasenavn og kjør .restore med sikkerhetskopifilen. For en .sql-dump, kjør sqlite3 newdb.db < backup.sql for å spille av hver setning og gjenoppbygge dataene.

SQLite er serverløs og filbasert, trenger ingen oppsett, så den passer til små apper for én bruker. MySQL kjører en serverprosess og håndterer mange samtidige skrivere, noe som passer til større flerbrukersystemer.

SQLite er innebygd i mobilapper, nettlesere, skrivebordsprogramvare og IoT-enheter fordi den fungerer offline uten server. Den passer til lokal lagring, prototyper og lesetunge arbeidsbelastninger.

Ja. GitHub Copilot skriver CREATE TABLE-setninger og SQL-spørringer fra en kort kommentar eller en ledetekst på vanlig engelsk, og forklarer eksisterende skjemaer. Gjennomgå alltid generert SQL før du kjører den.

Tekst-til-SQL-verktøy og store språkmodeller gjør spørsmål på vanlig engelsk om til SQLite utsagn ved å lese skjemaet ditt. AI-assistenter genererer, optimaliserer og forklarer spørringer, selv om menneskelig gjennomgang av resultatet fortsatt er viktig.

Oppsummer dette innlegget med: