Sinds de mens begon met het maken van systemen, zijn er altijd databases geweest die daarmee overeenkomen. Snel vooruitspoelen naar onze huidige tijd waarin technologie is geëvolueerd en bijna alles nu is geautomatiseerd. Bij het ontwikkelen van systemen en applicaties was SQL de leidende taal die ontwikkelaars gebruiken om databases te maken en te beheren. Om SQL goed te laten werken, heeft het een engine nodig. Deze engine is dan verantwoordelijk voor het afhandelen van bewerkingen en transacties in de database.
Wat is SQLite?
SQLite is een snelle en eenvoudige open source SQL-engine. Hoewel deze engine anderen misschien in de war brengt met volledige RDBMS's zoals Postgres en MySQL, is SQLite anders en presteert het op zijn hoogtepunt in bepaalde omstandigheden. SQLite is een nieuwe bibliotheek die een serverloze, op zichzelf staande SQL-database-engine zonder setup afdwingt. Omdat het geen configuratie nodig heeft zoals andere databases, is het gemakkelijker te gebruiken en te installeren. In tegenstelling tot andere databases is het geen op zichzelf staand proces. U kunt de database aan uw toepassing koppelen, zodat de records die erin worden opgeslagen, dynamisch of statisch kunnen worden geopend.
Er is altijd een misvatting geweest dat SQLite alleen voor ontwikkeling en testen is and. Hoewel het een geweldig hulpmiddel is voor die taak, is het niet alleen beperkt tot systeemtesten. SQLite kan bijvoorbeeld een website aan die aan de onderkant meer dan 100.000 bezoeken per dag ontvangt. De maximale groottelimiet voor SQLite is 140 Terabytes, wat meer is dan wat de meeste applicaties klokken.
Waarom zou je SQLite gebruiken??
- Aangezien het systeem serverloos is, heeft het geen extra serverproces nodig om te functioneren.
- Omdat er geen configuratie is, is het niet nodig om beheerders in te stellen of te bewaken.
- SQLite is compact omdat een volledige SQLite-database in één platformonafhankelijk schijfbestand past. Volledig geconfigureerd op een systeem, kan de hele database ongeveer 400KiB zijn of ongeveer 250KiB als sommige functies zijn weggelaten.
- Ondersteunt de meeste SQL92 (SQL2)-querytaalfuncties, dus redelijk bekend.
Omdat het is geschreven in ANSI-C, is de API gemakkelijk te gebruiken en vrij eenvoudig.
INSTALLATIE
Omdat de trots van SQLite voortkomt uit de verrassend eenvoudige configuratie, is het installatieproces vrij eenvoudig. In deze tutorial zullen we ons meer concentreren op Linux dan op andere platforms. Tegenwoordig merken we dat SQLite wordt geleverd met bijna alle versies van het Linux-besturingssysteem. Dus, voordat u de moeite neemt om het te installeren, moet u controleren of de installatie al heeft plaatsgevonden. Typ dit voor de zekerheid:
$ sqlite3Indien correct geïnstalleerd, zou u het volgende resultaat moeten zien:
SQLite-versie 3.7.15.2 2013-01-09 11:53:05Vul in ".help" voor instructies
Voer SQL-instructies in die eindigen op een ";"
sqlite>
Zo niet, dan betekent dit dat SQLite niet op uw systeem is geïnstalleerd. Om te installeren, kunt u;
Ga naar de officiële SQLite-pagina en download SQLite-autoconf-*.teer.gz uit het gedeelte met de broncodes. Open daarna de opdrachtregel en voer de volgende opdracht uit;
$tar xvfz SQLite-autoconf-3071502.teer.gz$cd SQLite-autoconf-3071502
$./configure --prefix = /usr/local
$make
$make install
U kunt ook de volgende methode gebruiken om te installeren:
sudo apt-get updatesudo apt-get install sqlite3
Beide methoden zullen hetzelfde doen. U kunt bevestigen dat de installatie is voltooid door de eerste test uit te voeren.
Meta-opdrachten
Meta-opdrachten worden meestal gebruikt voor administratieve handelingen zoals het onderzoeken van databases en het definiëren van uitvoerformaten. Het unieke van al deze commando's is dat ze altijd beginnen met een punt (.). Hier zijn enkele van de meest voorkomende die in de loop van de tijd van pas komen.
Opdracht | Omschrijving |
.dumpen | Dumpdatabase meestal SQL-tekstindeling |
.tonen | Geeft de huidige instellingen voor verschillende parameters weer |
.databases | Biedt volledige databasenamen en bestanden |
.stoppen met | Sluit het SQLite3-programma af |
.tafels | Toon een lijst van alle huidige tabellen |
.schema | Schema van de tabel weergeven |
.koptekst | Verbergt of toont de koptekst van de uitvoertabel |
.modus | Selecteer modus voor de uitvoertabel |
Standaard opdrachten
Bij het omgaan met SQLite bestaan er gemeenschappelijke commando's die worden gebruikt voor verschillende activiteiten in de database. Ze worden standaardopdrachten genoemd, omdat dit meestal de meest gebruikte zijn. Ze zijn ingedeeld in drie groepen vanwege hun verschillende functies binnen het bereik:.
Taal voor gegevensdefinitie
De allereerste groep zijn de opdrachten die verantwoordelijk zijn voor de opslagstructuur en ook methoden voor gegevenstoegang vanuit de database. Zij zijn:
- MAKEN
- LATEN VALLEN
- WIJZIGEN
Data Manipulatie Taal
Dit zijn de commando's die meestal worden gebruikt om gegevens in de database te manipuleren. Gegevensmanipulatie omvat het toevoegen, verwijderen en wijzigen van de gegevens. In deze sectie hebben we:
- INSERT
- BIJWERKEN
- VERWIJDEREN
Taal voor gegevensquery
Het laatste type commando's zijn die waarmee de gebruikers bepaalde gegevens uit de databases kunnen halen. Hier hebben we er maar één:
- KIES
Het is belangrijk op te merken dat dit niet de enige commando's zijn die SQLite kan ondersteunen. Omdat we ons echter in de beginnersfase bevinden, zullen we deze voorlopig alleen verkennen.
Een database maken
Bij het omgaan met SQLite3 worden opdrachten gebruikt om een nieuwe database te maken. In tegenstelling tot andere RDBMS'en, hoeft u hiervoor geen speciale privileges te hebben. Onthoud dat de databasenaam uniek moet zijn. Het volgende is de syntaxis voor het maken van een database:
sqlite3 databasenaam.db
Een nieuwe database genaamd linuxDB zou als volgt worden geschreven:
$ sqlite3 linuxDB.dbSQLite-versie 3.21.0 2017-10-24 00:53:05
Vul in ".help" voor instructies
Voer SQL-instructies in die eindigen op een ";"
SQLite>
U kunt de aanmaak van de database bevestigen met behulp van de .databases commando.
sqlite>.databasesvolgende naam bestand name
--- --------------- ----------------------
0 hoofd /home/SQLite/linuxDB.db
Tabellen maken
Aangezien tabellen het skelet van de database zijn, is het essentieel om te weten hoe ze te maken. Om een tabel te maken, moet u de tabel een naam geven, de kolommen en het gegevenstype voor elke kolom definiëren. Dit is de syntaxis voor het maken van een tabel.
CREATE TABLE databasenaam.tafel naam(
kolom1 gegevenstype PRIMAIRE SLEUTEL (een of meer kolommen),
kolom2 gegevenstype,
kolom3 gegevenstype,
…
kolomN gegevenstype
);
In actie, dit is hoe een voorbeeldtabel met de naam product_x eruit zal zien. De ID is de primaire sleutel. U moet altijd onthouden om velden op te geven die niet null kunnen zijn.
sqlite> TABEL MAKEN product_x(ID INT PRIMAIRE SLEUTEL NIET NULL,
NAAM TEKST NIET NULL,
EENHEDEN INT NIET NULL,
PRIJS IN,
KORTING ECHT
);
Tafel laten vallen
Deze opdracht wordt gebruikt wanneer de ontwikkelaar een tabel wil verwijderen samen met de volledige inhoud ervan. Je moet altijd voorzichtig zijn bij het gebruik van deze opdracht, want zodra de tabel is verwijderd, zijn alle daaropvolgende gegevens voor altijd verloren. Dit is de syntaxis:
DROP TABLE databasenaam.tafel naam;
sqlite> DROP TABLE product_x;Tabel wijzigen
Deze opdracht wordt gebruikt om de inhoud van een tabel te bewerken zonder de gegevens te dumpen en opnieuw te laden. In SQLite zijn er slechts twee bewerkingen die u met deze opdracht op een tabel kunt uitvoeren; een tabel hernoemen en huidige kolommen toevoegen of verwijderen.
Dit is de syntaxis voor respectievelijk het hernoemen van een reeds bestaande tabel en het toevoegen van een nieuwe kolom;
ALTER TABLE databasenaam.table_name RENAME NAAR nieuwe_table_name;
ALTER TABLE databasenaam.table_name ADD COLUMN column_def… ;
Een tabel met de naam product_x kan bijvoorbeeld worden hernoemd naar product_yz en we kunnen een nieuwe kolom toevoegen aan product_yz in de twee onderstaande regels code:
sqlite3> WIJZIG TABEL product_x… > NAAM NAAR product_yz;
sqlite3> WIJZIG TABEL product_yz
… > KOLOM TOEVOEGEN naam fabrikant TEKST;
Zoekopdracht invoegen
De opdracht INSERT INTO wordt gebruikt om gegevensrijen toe te voegen aan een tabel in de database. De syntaxis hiervoor is vrij direct:
INSERT INTO TABLE_NAME VALUES (waarde1,waarde2,waarde3,…waardeN);
Kolom1, kolom2,... kolomN zijn de namen van de kolommen die horen bij de tabel waarin u gegevens wilt invoegen. Het is belangrijk om specifiek de kolomnaam in SQLite te noteren bij het toevoegen van waarden aan alle kolommen in de tabel.
SELECT-query
De SELECT-instructie in SQLite wordt voornamelijk gebruikt om gegevens uit de SQLite-database op te halen en deze gegevens te retourneren in de vorm van een resultatenset. Dit is de syntaxis voor het gebruik van de SELECT-instructie;
SELECT kolom1, kolom2, kolomN FROM tabelnaam;
Van de bovenstaande syntaxis zijn kolom1, kolom2... de respectievelijke velden in de tabel waar u waarden wilt ophalen. Als u alle velden in die tabel wilt ophalen, gebruikt u de volgende syntaxis:. Het jokerteken (*) betekent in feite 'alle'.
SELECTEER * VAN TABLE_NAME;UPDATE-query
In een database moeten records om de een of andere reden veranderen. Stel dat een gebruiker zijn e-mailadres op uw platform wil wijzigen, dan is dit precies de opdracht die u nodig hebt om dit proces te laten werken. Terwijl we de UPDATE-component gebruiken, moeten we ook de WHERE-component gebruiken om de geselecteerde rijen bij te werken. Zo niet, dan zult u zien dat alle rijen zijn bijgewerkt! Dat zou heel erg zijn. Dit is de syntaxis voor het uitvoeren van deze bewerking:
UPDATE tabelnaam
SET kolom1 = waarde1, kolom2 = waarde2… ., kolomN = waardeN
WAAR [voorwaarde];
Als je aan een N aantal voorwaarden moet voldoen, zijn de AND- of OR-operatoren erg handig. Voorbeeld:
sqlite> UPDATE product_x… > STEL EENHEDEN IN = 103 WAAR ID = 6;
De AND & OR operators
Dit zijn de zogenaamde conjunctieve operatoren. Ze worden gebruikt om verschillende voorwaarden te compileren om de geselecteerde gegevens in een SQLite-omgeving te verkleinen. Deze operators maken het voor een ontwikkelaar mogelijk om meerdere vergelijkingen van waarden te maken met behulp van verschillende operators op één SQLite-instructie.
De AND-operator is uniek omdat de gebruiker meerdere voorwaarden kan hebben in combinatie met de WHERE-componentWH. Bij gebruik van deze operator wordt de voorwaarde als waar beschouwd als aan alle voorwaarden is voldaan. Dit is de syntaxis voor de AND-operator.
SELECT kolom1, kolom2, kolomN
FROM tabelnaam
WAAR [voorwaarde1] EN [voorwaarde2]… EN [voorwaardeN];
Aan de andere kant hebben we de OR-operator die ook samen met de WHERE-component wordt gebruikt. In tegenstelling tot de AND-operator, is de voorwaarde waar als aan een van de voorwaarden is voldaan. De syntaxis is vrij eenvoudig.
SELECT kolom1, kolom2, kolomN
FROM tabelnaam
WHERE [voorwaarde1] OF [voorwaarde2]... OF [voorwaardeN]
Bronnen en aanvullende informatie
http://linuxgazette.net/109/chirico1.html
http://www.yolinux.com/TUTORIALS/SQLite.html
https://www.sitepunt.com/aan de slag-sqlite3-basic-commands/
https://www.digitale oceaan.com/community/tutorials/hoe-en-wanneer-sqlite-gebruiken
http://www.thegeekstuff.com/2012/09/sqlite-opdracht-voorbeelden/?utm_source=feedburner