Lige siden mennesket begyndte at skabe systemer, har der altid været databaser, der svarer til dem. Hurtig videresendelse til vores nutid, hvor teknologien har udviklet sig, og næsten alt nu er blevet automatiseret. Under udvikling af systemer og applikationer har SQL været det førende sprog, som udviklere bruger til at oprette og administrere databaser. For at SQL skal køre korrekt, har det brug for en motor. Denne motor er derefter ansvarlig for håndtering af operationer og transaktioner i hele databasen.
Hvad er SQLite?
SQLite er en hurtig og enkel open source SQL-motor. Mens denne motor måske har andre forvekslet med fulde RDBMS'er som Postgres og MySQL, er SQLite anderledes og udfører på sit højdepunkt under visse forhold. SQLite er et nyt bibliotek, der håndhæver en serverløs, selvstændig, ingen opsætnings SQL-databasemotor. Da det ikke har brug for konfiguration som andre databaser, er det nemmere at bruge og installere. I modsætning til andre databaser er det ikke en enkeltstående proces. Du kan linke databasen til din applikation, så de poster, den gemmer, kan fås enten dynamisk eller statisk.
Der har altid været en misforståelse om, at SQLite kun er til udvikling og test. Selvom det er et godt værktøj til det job, er det ikke kun begrænset til systemtest. For eksempel kan SQLite håndtere et websted, der modtager mere end 100.000 besøg om dagen på undersiden. Den maksimale størrelsesgrænse for SQLite er 140 Terabyte, hvilket er mere end hvad de fleste applikationer klokker.
Hvorfor skal du bruge SQLite?
- Da systemet er serverløst, behøver det ikke en ekstra serverproces for at fungere.
- Der er ingen konfiguration, der er ikke behov for opsætning eller overvågning af administratorer.
- SQLite er kompakt, da en komplet SQLite-database kan passe ind i en platform på tværs af platforme. Fuldt konfigureret på et system kan hele databasen være ca. 400 KB eller ca. 250 KB, når nogle funktioner er udeladt.
- Understøtter de fleste af SQL92 (SQL2) forespørgselssprogsfunktioner, så de er velkendte.
Da det er skrevet i ANSI-C, er API'en nem at bruge og ret ligetil.
INSTALLATION
Da SQLites stolthed kommer fra dens overraskende enkle konfiguration, er installationsprocessen ret ligetil. I denne vejledning vil vi fokusere mere på Linux end andre platforme. I disse dage finder vi ud af, at SQLite sendes med næsten alle versioner af Linux-operativsystemet. Så inden du gider at installere det, skal du kontrollere, om installationen allerede har fundet sted. For at være sikker skal du skrive dette:
$ sqlite3Hvis det er korrekt installeret, skal du se følgende resultat:
SQLite version 3.7.15.2 09-01-2013 11:53:05Gå ind ".hjælp "til instruktioner
Indtast SQL-sætninger afsluttet med et ";"
sqlite>
Hvis ikke, betyder det, at SQLite ikke er installeret på dit system. For at installere kan du;
Gå til SQLite officielle side og download SQLite-autoconf- *.tjære.gz fra sektionen med kildekoder. Derefter skal du åbne kommandolinjen og køre følgende kommando;
$ tar xvfz SQLite-autoconf-3071502.tjære.gz$ cd SQLite-autoconf-3071502
$./ configure --prefix = / usr / local
$ mærke
$ gør installation
Du kan også bruge følgende metode til at installere:
sudo apt-get opdateringsudo apt-get install sqlite3
Begge disse metoder vil gøre det samme. Du kan bekræfte, at installationen er gennemført ved at køre den første test.
Metakommandoer
Metakommandoer bruges for det meste til administrative operationer såsom at undersøge databaser og definere outputformater. Det unikke ved alle disse kommandoer er, at de altid starter med en prik (.). Her er nogle af de mere almindelige, der kommer til nytte over tid.
Kommando | Beskrivelse |
.dump | Dump-database er normalt SQL-tekstformat |
.at vise | Viser de aktuelle indstillinger for forskellige parametre |
.databaser | Tilbyder komplette database navne og filer |
.Afslut | Afslutter SQLite3-programmet |
.tabeller | Vis en liste over alle aktuelle tabeller |
.skema | Vis skema for tabellen |
.header | Skjuler eller viser outputtabellens overskrift |
.mode | Vælg tilstand for output-tabellen |
Standardkommandoer
Når man beskæftiger sig med SQLite, findes der almindelige kommandoer, der bruges til forskellige aktiviteter i databasen. De kaldes standardkommandoer, da de normalt er de hyppigst anvendte. De klassificeres i tre grupper på grund af deres forskellige funktioner på tværs af omfanget.
Datadefinitionssprog
Den allerførste gruppe er de kommandoer, der er ansvarlige for lagringsstruktur og også metoder til dataadgang fra databasen. De er:
- SKAB
- DRÅBE
- ÆNDRE
Data manipulation sprog
Dette er de kommandoer, der oftest bruges til at manipulere data i databasen. Datamanipulation inkluderer tilføjelse, fjernelse og ændring af dataene. I dette afsnit har vi:
- INDSÆT
- OPDATER
- SLET
Dataspørgsmålssprog
Den sidste type kommandoer er dem, der gør det muligt for brugerne at hente bestemte data fra databaser. Her har vi kun en:
- VÆLG
Det er vigtigt at bemærke, at disse ikke er de eneste kommandoer, som SQLite kan understøtte. Men da vi er på begynderstadiet, skal vi kun udforske disse indtil videre.
Oprettelse af en database
Når du beskæftiger dig med SQLite3, bruges kommandoer til at oprette en ny database. I modsætning til andre RDBMS'er behøver du ikke have særlige privilegier til at gøre dette. Husk at databasenavnet skal være unikt. Følgende er syntaksen for oprettelse af en database:
sqlite3 DatabaseName.db
En ny database kaldet linuxDB vil blive skrevet som følger
$ sqlite3 linuxDB.dbSQLite version 3.21.0 2017-10-24 00:53:05
Gå ind ".hjælp "til instruktioner
Indtast SQL-sætninger afsluttet med et ";"
SQLite>
Du kan bekræfte oprettelsen af databasen ved hjælp af .kommandoer til databaser.
sqlite>.databasersekv. navnefil
--- --------------- ----------------------
0 hoved / hjem / SQLite / linuxDB.db
Oprettelse af tabeller
Da tabeller er skelet af databasen, er det vigtigt at vide, hvordan man opretter dem. At oprette en tabel betyder, at du skal navngive tabellen, definere kolonnerne og datatypen for hver kolonne. Dette er syntaksen for oprettelse af en tabel.
OPRET TABEL database_navn.tabelnavn (
kolonne1 datatype PRIMÆR NØGLE (en eller flere kolonner),
kolonne2 datatype,
kolonne3 datatype,
..
kolonneN datatype
);
I aktion er det sådan, en prøvetabel kaldet product_x vil se ud. ID'et er den primære nøgle. Du skal altid huske at angive felter, der ikke kan være nul.
sqlite> Opret TABEL product_x (ID INT PRIMÆR NØGLE IKKE NULL,
NAVNTEKST IKKE NULL,
ENHEDER INT IKKE NULL,
PRIS INT,
RABAT REAL
);
Drop bord
Denne kommando bruges, når udvikleren ønsker at fjerne en tabel sammen med alt dens indhold. Du skal altid være forsigtig, når du bruger denne kommando, da når tabellen er slettet, går alle efterfølgende data tabt for evigt. Dette er syntaksen:
DROP TABEL database_navn.tabelnavn;
sqlite> DROP TABLE product_x;Skift bord
Denne kommando bruges til at redigere indholdet af en tabel uden at skulle dumpe og genindlæse dataene. I SQLite er der kun to operationer, du kan udføre på et bord med denne kommando; omdøbe en tabel og tilføje eller fjerne aktuelle kolonner.
Dette er syntaksen for at omdøbe en allerede eksisterende tabel og tilføje en ny kolonne henholdsvis;
ALTER TABLE database_navn.tabelnavn RENAME TIL nyt_tabelnavn;
ALTER TABLE database_navn.tabelnavn ADD COLUMN column_def…;
For eksempel kan en tabel med navnet product_x omdøbes til product_yz, og vi kan tilføje en ny kolonne til product_yz i de to linier med kode nedenfor:
sqlite3> ALTER TABLE product_x…> OMDØB TIL product_yz;
sqlite3> ALTER TABLE product_yz
...> TILFØJ KOLONN producentnavn TEKST;
Indsæt forespørgsel
INSERT INTO-kommandoen bruges til at tilføje datarækker til en tabel inde i databasen. Syntaksen for dette er ret direkte:
INDSÆT I TABLE_NAME-VÆRDIER (værdi1, værdi2, værdi3,… værdiN);
Kolonne1, kolonne2, ... kolonneN er navnene på kolonnerne, der hører til den tabel, du vil indsætte data. Det er vigtigt at notere kolonnenavnet specifikt i SQLite, når du tilføjer værdier til alle kolonner i tabellen.
VÆLG Forespørgsel
SELECT-sætningen i SQLite bruges primært til at hente data fra SQLite-databasen og returnere disse data i form af et resultatsæt. Dette er syntaksen for brug af SELECT-sætningen;
VÆLG kolonne1, kolonne2, kolonneN FRA tabelnavn;
Fra ovenstående syntaks er kolonne1, kolonne2 ... de respektive felter i tabellen, hvor du vil hente værdier. Hvis du vil hente alle felter i tabellen, skal du bruge følgende syntaks. Jokertegnet (*) betyder dybest set 'alt'.
VÆLG * FRA TABLE_NAME;UPDATE-forespørgsel
I en database skal poster ændres af en eller anden grund. Antag at en bruger ønsker at ændre deres e-mail-adresse på din platform, dette er nøjagtigt den kommando, du har brug for for at få denne proces til at fungere. Mens vi bruger UPDATE-klausulen, skal vi også bruge WHERE-klausulen til at opdatere de valgte rækker. Hvis ikke, finder du alle rækkerne er blevet opdateret! Det ville være rigtig dårligt. Dette er syntaksen for at udføre denne handling:
OPDATER tabelnavn
SET kolonne1 = værdi1, kolonne2 = værdi2… ., kolonneN = værdiN
HVOR [tilstand];
Hvis du har et N-antal betingelser, der skal opfyldes, kommer AND- eller OR-operatørerne meget godt med. Eksempel:
sqlite> OPDATER produkt_x…> INDSTIL ENHEDER = 103 HVOR ID = 6;
AND & OR operatørerne
Dette er hvad der kan kaldes konjunktive operatører. De bruges til at kompilere flere betingelser for at krympe de valgte data i et SQLite-miljø. Disse operatører gør det muligt for en udvikler at foretage flere sammenligninger af værdier ved hjælp af forskellige operatorer på en SQLite-sætning.
AND-operatøren er unik, da den giver brugeren mulighed for at have flere betingelser i forbindelse med WHERE-klausulen. Ved brug af denne operatør betragtes betingelsen som sand, hvis alle betingelserne er opfyldt. Dette er syntaksen for AND-operatøren.
VÆLG kolonne1, kolonne2, kolonneN
FRA tabelnavn
HVOR [betingelse1] OG [betingelse2]… OG [betingelseN];
På bagsiden af tingene har vi OR-operatøren, som også bruges sammen med WHERE-klausulen. I modsætning til AND-operatøren er betingelsen sand, hvis en af betingelserne er opfyldt. Syntaksen er ret enkel.
VÆLG kolonne1, kolonne2, kolonneN
FRA tabelnavn
HVOR [betingelse1] ELLER [betingelse2]… ELLER [betingelseN]
Kilder og yderligere information
http: // linuxgazette.net / 109 / chirico1.html
http: // www.yolinux.com / TUTORIALS / SQLite.html
https: // www.sitepunkt.com / at komme i gang-sqlite3-basic-kommandoer /
https: // www.digitalocean.com / community / tutorials / how-and-when-to-use-sqlite
http: // www.thegeekstuff.com / 2012/09 / sqlite-command-eksempler /?utm_source = feedburner