SQLite Database: bestanden maken, openen, back-uppen en neerzetten

⚡ Slimme samenvatting

SQLite Databases slaan een complete dataset op in één enkel, lichtgewicht bestand, zonder dat een server, installatie of configuratie nodig is. De opdrachtregeltool sqlite3 maakt, opent, vult, back-upt en verwijdert deze databasebestanden rechtstreeks vanuit een eenvoudige terminalsessie.

  • Geen CREATE DATABASE-opdracht: SQLite Bevat geen CREATE DATABASE-instructie; het uitvoeren van sqlite3 SchoolDB.db maakt het bestand automatisch aan.
  • 📂 Specifieke locatie: Met het commando .open wordt een database aangemaakt of geopend op een door u opgegeven locatie.
  • 🧱 Schema uit een bestand: Piping Het importeren van een .sql-bestand in sqlite3 creëert een nieuwe database die al is gevuld met de bijbehorende tabellen.
  • 💾 Back-up: Het .backup-commando kopieert een geopende database naar een nieuw bestand voor de veiligheid.ping.
  • 🗑️ Valping een database: SQLite Er bestaat geen DROP DATABASE-opdracht; het verwijderen van het databasebestand verwijdert het volledig.
  • 🤖 AI-assistentie: GitHub Copilot en tekst-naar-SQL-tools genereren SQLite Schema's en query's op basis van prompts in begrijpelijke taal.

SQLite Database

SQLite Databases zijn erg lichtgewicht. In tegenstelling tot andere databasesystemen is er geen configuratie of installatie nodig om ermee aan de slag te gaan. SQLite database. Het enige wat je nodig hebt is de SQLite bibliotheek, die minder dan 500 KB groot is, zodat u meteen aan de slag kunt. SQLite databases en tabellen rechtstreeks.

SQLite MAAK Database

In tegenstelling tot andere databasebeheersystemen is er geen CREATE DATABASE-opdracht in SQLiteZo maak je een nieuwe database aan:

  • Open de Windows Open het opdrachtregelprogramma (cmd.exe) via het Startmenu door 'cmd' te typen.
  • Het cmd-venster wordt geopend in de standaard gebruikersmap. Op mijn computer is dat "C:\Users\MGA":

SQLite De opdrachtprompt is geopend in de standaard gebruikersmap C:/Users/MGA.

  • Uit de handleiding Installatie en pakketten zou u nu een SQLite Ik heb een map in de "C"-directory aangemaakt en sqlite3.exe daarin gekopieerd.
  • Navigeer vervolgens naar de locatie van sqlite3.exe met behulp van de volgende opdracht: SQLite opdrachtregel:

Navigeren naar de map sqlite3.exe in de Windows opdrachtregel

Hieronder volgt de basissyntaxis van het sqlite3-commando om een ​​database aan te maken:

sqlite3 SchoolDB.db

Hiermee wordt een nieuwe database met de naam "SchoolDB.db" aangemaakt in dezelfde map waar u uw .exe-bestand naartoe hebt gekopieerd.

Als u naar de map "c:\sqlite" navigeert, zult u zien dat het bestand "SchoolDB.db" is aangemaakt, zoals te zien is in de volgende schermafbeelding:

Het uitvoeren van de sqlite3 SchoolDB.db-opdracht om de database aan te maken.

Het databasebestand SchoolDB.db is aangemaakt in de map c:/sqlite.

U kunt bevestigen dat de database is aangemaakt door het volgende te typen: SQLite opdracht:

.databases

Dit geeft je een lijst met de aangemaakte databases, en je zou de nieuwe database "SchoolDB.db" daar moeten zien staan:

Het commando .databases geeft een lijst weer van de zojuist aangemaakte SchoolDB-database.

SQLite MAAK een database op een specifieke locatie met behulp van Open

Als u het databasebestand op een specifieke locatie wilt aanmaken in plaats van in de map waar sqlite3.exe zich bevindt, kunt u het volgende doen: SQLite databasebestand:

  • Navigeer handmatig naar de map waar sqlite3.exe zich bevindt, “C:\sqlite”.
  • Double-klik op sqlite3.exe om het te openen SQLite opdrachtregel.
  • Het commando om een ​​databasebestand te openen is:

Opening een SQLite databasebestand op een specifieke locatie openen met het .open-commando

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

Hiermee wordt de database "SchoolDB.db" aangemaakt en het bestand op de opgegeven locatie opgeslagen. Dezelfde opdracht opent ook een bestaande database, dus als u de opdracht opnieuw uitvoert, wordt die database gewoon weer geopend.

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

SQLite controleert of “SchoolDB.db” op die locatie bestaat. Als het bestaat, SQLite opent het bestand; anders wordt er een nieuwe database met die bestandsnaam aangemaakt.

SQLite maak een database en vul deze met tabellen uit een bestand

Als je een .SQL-bestand hebt dat het tabelschema bevat en je wilt een nieuwe database maken met dezelfde tabellen, dan legt het volgende voorbeeld uit hoe je dat doet.

Voorbeeld:

Hier maken we de voorbeelddatabase aan die in dit artikel gebruikt wordt. SQLite handleiding, genaamd “SQLite"TutorialsDB" en vul deze met de volgende tabellen:

  • Open een tekstbestand en plak het volgende SQLite commando's erin:
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  
);

De bovenstaande code creëert vier tabellen, als volgt:

  • Tabel "Afdelingen", met de volgende kolommen:
    • “DepartmentId”, een integer afdelings-ID, is gedeclareerd als primaire sleutel.
    • “DepartmentName”, een tekenreeks met de naam van de afdeling die geen null-waarden toestaat (NOT NULL).
  • Tabel "Studenten", met de volgende kolommen:
    • “StudentId”, een geheel getal dat is gedeclareerd als primaire sleutel.
    • “StudentName”, de naam van de student, die geen null-waarde toestaat.
    • “DepartmentId”, een geheel getal dat verwijst naar de afdelings-ID in de tabel Afdelingen.
    • “DateOfBirth”, de geboortedatum van de student.
  • Tabel "Onderwerpen", met de volgende kolommen:
    • “SubjectId”, een geheel getal dat is gedeclareerd als primaire sleutel.
    • “SubjectName”, een tekenreeks die geen null-waarden toestaat.
  • Tabel "Cijfers", met de volgende kolommen:
    • “StudentId”, een geheel getal dat een student-ID aangeeft.
    • “SubjectId”, een geheel getal dat een onderwerp-ID aangeeft.
    • “Cijfer”, het cijfer dat een leerling voor een vak haalt, een geheel getal dat null-waarden toestaat.
  • Sla het bestand op als “SQLiteTutorialsDB.sql” op dezelfde locatie als sqlite3.exe.
  • Open cmd.exe en navigeer naar de map waarin sqlite3.exe zich bevindt.
  • Schrijf de volgende opdracht:
sqlite3 SQLiteTutorialsDB.db < SQLiteTutorialsDB.sql

Een nieuwe databaseSQLiteDe map "TutorialsDB" wordt aangemaakt en het bestand "SQLiteHet bestand "TutorialsDB.db" wordt in dezelfde map geplaatst, zoals hieronder weergegeven:

De SQLiteDe TutorialsDB-database is aangemaakt op basis van het .sql-schemabestand.

Je kunt controleren of de tabellen zijn aangemaakt door de zojuist aangemaakte database te openen:

.open SQLiteTutorialsDB.db

Schrijf dan de volgende opdracht:

.tables

Dit geeft je de lijst met tabellen in “SQLite"TutorialsDB", en je zou de vier tabellen moeten zien die we zojuist hebben aangemaakt:

Het .tables-commando geeft een lijst van de vier tabellen die zijn aangemaakt in SQLiteTutorialsDB

Nu de voorbeelddatabase en de vier tabellen aanwezig zijn, kunt u verdergaan met het uitvoeren van de test. SQLite INSERT-, UPDATE- en DELETE-query's in tegenspraak met de gegevens.

SQLite Back-up en database

Om een ​​database te back-uppen, moet u die database eerst openen, als volgt:

  • Navigeer naar de map “C:\sqlite” en dubbelklik vervolgens op sqlite3.exe om het te openen.
  • Open de database met behulp van de volgende query:
.open c:/sqlite/sample/SchoolDB.db

Met dit commando wordt een database geopend in de map “c:/sqlite/sample/”.

Als het zich in dezelfde map bevindt als sqlite3.exe, hoeft u geen locatie op te geven, zoals in dit voorbeeld:

.open SchoolDB.db

Om vervolgens een back-up van de database te maken, typt u de volgende opdracht. Hiermee wordt de volledige database opgeslagen in een nieuw bestand met de naam "SchoolDB.db" in dezelfde map:

.backup SchoolDB.db

Als er na het uitvoeren van die opdracht geen foutmeldingen verschijnen, is de back-up succesvol aangemaakt.

SQLite Database laten vallen

In tegenstelling tot andere databasebeheersystemen bestaat er geen DROP DATABASE-opdracht in SQLiteAls je een database wilt verwijderen in SQLiteJe hoeft alleen maar het databasebestand te verwijderen.

Opmerkingen:

  • Je kunt geen twee databases met dezelfde naam op dezelfde locatie aanmaken; de databasenaam is uniek binnen een directory.
  • Databasenamen zijn niet hoofdlettergevoelig.
  • Er zijn geen rechten vereist om de databases te maken.

Veelgestelde vragen

SQLite Het is een serverloze engine die een complete database in één platformonafhankelijk bestand bewaart. Met een grootte van minder dan 500 KB vereist het geen installatie of configuratie en draait het ingebed in applicaties in plaats van op een aparte server.

SQLite Databases gebruiken doorgaans de extensie .db, .sqlite of .db3, en deze drie zijn identiek. SQLite Het identificeert zijn bestanden aan de hand van een interne header, waardoor de extensie slechts een label is.

Ja. SQLite is software in het publieke domein, volledig gratis voor persoonlijk en commercieel gebruik zonder licentie of royalty's. De broncode en commandoregeltools zijn te vinden op de officiële website. SQLite website.

Open sqlite3 met een databasenaam en voer .restore uit met het back-upbestand. Voor een .sql-dump voert u sqlite3 newdb.db < backup.sql uit om elke instructie opnieuw af te spelen en de gegevens opnieuw op te bouwen.

SQLite Het is serverloos en op bestanden gebaseerd, vereist geen installatie en is daarom geschikt voor kleine apps voor één gebruiker. MySQL Het voert een serverproces uit en verwerkt veel gelijktijdige schrijfbewerkingen, waardoor het geschikt is voor grotere systemen met meerdere gebruikers.

SQLite Het is geïntegreerd in mobiele apps, browsers, desktopsoftware en IoT-apparaten omdat het offline werkt zonder server. Het is geschikt voor lokale opslag, prototypes en workloads met veel leesbewerkingen.

Ja. GitHub-copiloot Genereert CREATE TABLE-instructies en SQL-query's op basis van een korte opmerking of een prompt in begrijpelijke taal, en legt bestaande schema's uit. Controleer de gegenereerde SQL altijd voordat u deze uitvoert.

Tekst-naar-SQL-tools en grote taalmodellen zetten vragen in gewoon Engels om in SQLite AI-assistenten genereren, optimaliseren en verklaren query's door uw schema te lezen. Hoewel menselijke controle van de output essentieel blijft.

Vat dit bericht samen met: