{"id":21827,"date":"2021-02-04T21:09:56","date_gmt":"2021-02-04T20:09:56","guid":{"rendered":"https:\/\/www.linuxboxen.dk\/?p=21827"},"modified":"2021-02-04T21:09:56","modified_gmt":"2021-02-04T20:09:56","slug":"hvordan-bruger-du-sqlite-paa-linux","status":"publish","type":"post","link":"https:\/\/www.linuxboxen.dk\/?p=21827","title":{"rendered":"Hvordan bruger du sqlite p\u00e5 Linux\/Ubuntu."},"content":{"rendered":"<p><a href=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/sqlite.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"sqlite\"><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/sqlite-300x211.png\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/sqlite-300x211.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/sqlite-1024x720.png 1024w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/sqlite-768x540.png 768w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/sqlite-360x253.png 360w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/sqlite.png 1395w\" alt=\"\" width=\"300\" height=\"211\" \/> <\/a><\/p>\n<p>Som de selv beskriver det i man pages.<\/p>\n<p><em>SQLite Database Browser er et visuelt v\u00e6rkt\u00f8j, der bruges til at oprette, design og<\/em><br \/>\n<em>redigere database filer, der er kompatibel med SQLite. Det er beregnet til at blive brugt til<\/em><br \/>\n<em>brugere og udviklere, der \u00f8nsker at oprette databaser, redigere og s\u00f8ge<\/em><br \/>\n<em>data ved hj\u00e6lp af en velkendt regneark lignende gr\u00e6nseflade uden behov for det<\/em><br \/>\n<em>l\u00e6re komplicerede SQL-kommandoer.<\/em><\/p>\n<p>Siden den f\u00f8rste udgivelse i 2000 har SQLite blevet brugt rigtigt meget. Det er inde p\u00e5 alle iPhone- og Android-telefoner samt Windows 10- eller Mac-computer samt Linux. Det er ogs\u00e5 i enhver internetbrowser, inklusive Chrome, Firefox og Safari samt utallige andre applikationer.<\/p>\n<p>Den utrolige r\u00e6kkevidde af SQLite databasen skyldes dens arkitektur. Det er et hurtigt, let bibliotek, der er inkorporere (eller linket, i udvikler-tale) i andre applikationer. Database motoren bliver en integreret del af produktet. Dette betyder, at du ikke beh\u00f8ver at levere en ekstern SQL-database server som MySQL, MariaDB eller Microsoft SQL Server.<\/p>\n<p>SQLite har ogs\u00e5 et v\u00e6rkt\u00f8j p\u00e5 kommandolinje niveau til manipulation af databaser, men det er biblioteket samt api, der har gjort det til en triumf. At have en selvst\u00e6ndig database motor gemt inde i dine applikationer fjerner mange problemer. Det forenkler din applikations installations rutiner og s\u00e6nker minimumskrav til hardware til din applikation.<\/p>\n<p>Da SQLite bruger en enkelt platform p\u00e5 tv\u00e6rs af platforme til sine databasetabeller, indekser og skemaer, kan hele databasen desuden flyttes til en anden computer. Du kan endda flytte det til en maskine, der k\u00f8rer et andet operativsystem ved at kopiere en fil.<\/p>\n<p>SQLite er et udvikler bibliotek. Der er der dog ikke en front-end til det, hvilket betyder, at det ikke har et grafisk brugergr\u00e6nseflade. Det er applikationen, der bruger biblioteket, der giver brugergr\u00e6nsefladen. Kommandolinje v\u00e6rkt\u00f8jet kan k\u00f8re i en interaktiv tilstand, men det er stadig ikke en GUI.<\/p>\n<p>DB Browser til SQLite (DB4S) er godt til redigering. Det er et visuelt v\u00e6rkt\u00f8j, der er udviklet af et open source-projekt, der muligg\u00f8r oprettelse og manipulation af SQLite databaser fra en GUI.<\/p>\n<p>DB Browser til SQLite har eksisteret (i en eller anden inkarnation) siden 2003 og har gennemg\u00e5et flere navne\u00e6ndringer. Tidligere blev det kaldt SQLite Browser, men det for\u00e5rsagede forvirring. Folk troede, det var blevet skrevet af SQLite-teamet og videresendte s\u00e5ledes funktionsanmodninger og supportforesp\u00f8rgsler om DB4S til SQLite.<\/p>\n<p>S\u00e5 SQLite Browser blev omd\u00f8bt til DB Browser til SQLite. Du kan stadig se henvisninger til det gamle navn her og der. Faktisk bruger webstedet til projektet stadig &#8220;sqlitebrowser&#8221; som dom\u00e6ne, og det gamle navn bruges ogs\u00e5 under installationen af DB4S.<\/p>\n<p>Med DB4S kan du.<\/p>\n<ul>\n<li>Oprette databaser.<\/li>\n<li>Impotere og expotere databaser.<\/li>\n<li>Oprette\/rette og slette tabler samt index.<\/li>\n<li>Oprette\/slette data i databasen.<\/li>\n<li>S\u00f8g i databasen.<\/li>\n<\/ul>\n<p>For at installere programmet skriver du denne kommado i en shell.<\/p>\n<pre>sudo apt-get install sqlitebrowser<\/pre>\n<pre>For at installere sqlite database systemet. Dette er normal installeret.<\/pre>\n<p>$ sudo\u00a0apt-get install\u00a0sqlite3<\/p>\n<p>N\u00e5r DB4S starter, er der ikke indl\u00e6st en database i den. Vi vil se p\u00e5 to m\u00e5der, du kan importere b\u00e5de data og databasetabeldefinitioner p\u00e5, samt hvordan du kan opretter din egen database.<\/p>\n<p><a href=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/3_1.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"3_1\"><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/3_1-768x564.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/3_1-768x564.png 768w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/3_1-300x220.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/3_1-1024x752.png 1024w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/3_1-360x264.png 360w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/3_1.png 1189w\" alt=\"\" width=\"640\" height=\"470\" \/> <\/a><\/p>\n<p>Nogle gange kan du f\u00e5 brug for at importere et dump eller du skal sende et dump i SQL-format. Denne indeholder de instruktioner, der er n\u00f8dvendige for at genskabe en database og inds\u00e6tte dens data i en databasen.<\/p>\n<p>Et andet almindeligt format, der bruges til at importere tabel definitioner og data, er formatet med komma-adskilte v\u00e6rdier (CSV). Du kan bruge et datagenereringswebsted, s\u00e5som Database Test Data, til at generere\u00a0 dummy-data til praktiske form\u00e5l. Du kan derefter eksportere dine data som SQL eller CSV.<\/p>\n<p>Nedenfor er en SQL-fil, vi oprettede p\u00e5 dette websted. Efter at den blev eksporteret, redigerede vi den og tilf\u00f8jede en linje \u00f8verst i filen, som kr\u00e6ves til SQLite som hedder:<br \/>\nBEGIN TRANSACTION;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/6.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/6.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/6-300x198.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/6-360x238.png 360w\" alt=\"\" width=\"640\" height=\"423\" \/><\/p>\n<p>Vi gemmer derefter filen igen. I DB4S klikker vi p\u00e5 Filer&gt; Import&gt; Database fra SQL-fil.<\/p>\n<p>En dialog med filvalg \u00e5bnes, s\u00e5 vi kan v\u00e6lge vores SQL-fil. I vores eksempel hedder det &#8220;database_dump.sql&#8221;, og det er placeret i roden til vores hjemmekatalog.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/7.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/7.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/7-300x161.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/7-360x193.png 360w\" alt=\"\" width=\"640\" height=\"344\" \/><\/p>\n<p>N\u00e5r den valgte fil er valgt, klikker vi p\u00e5 &#8220;Open&#8221;, og der \u00e5bnes en fil-save dialog box. Du skal nu navngive din nye database og beslutte, hvor den skal gemmes. Vi kaldte vores &#8220;geekbase.sqlite3&#8221;, og vi gemmer det i vores hjemmekatalog.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/8.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/8.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/8-300x154.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/8-360x185.png 360w\" alt=\"\" width=\"640\" height=\"329\" \/><\/p>\n<p>Klik p\u00e5 &#8220;Save&#8221;, n\u00e5r du er klar til at forts\u00e6tte. Vi har identificeret vores SQL-kildefil og navngivet vores nye database, s\u00e5 import processen kan nu begynde. N\u00e5r den er afsluttet, vises meddelelsen Import complete.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/10.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/10.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/10-300x163.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/10-360x196.png 360w\" alt=\"\" width=\"640\" height=\"349\" \/><\/p>\n<p>DB4S viser nu strukturen i vores database.<\/p>\n<p>Der er oprettet to tabeller, selvom der kun var en definition for en i SQL-filen. Dette skyldes, at &#8220;id&#8221; -feltet blev defineret som et automatisk stigende felt. Det tilf\u00f8jes automatisk, hver gang en ny post f\u00f8jes til databasen. SQLite opretter en tabel for at holde styr p\u00e5 felter, der automatisk \u00f8ges.<\/p>\n<p>Klik p\u00e5 Browse Data<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/11.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/11.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/11-300x247.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/11-328x270.png 328w\" alt=\"\" width=\"640\" height=\"527\" \/><\/p>\n<p>Selvf\u00f8lgelig ligger en databasekraft i dens evne til at s\u00f8ge og udtr\u00e6kke poster. Med en SQL-aktiveret database bruger vi SQL-sproget til at g\u00f8re dette. For at komme i gang skal du klikke p\u00e5 fanen &#8220;Execute SQL&#8221;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/12-1.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/12-1.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/12-1-300x247.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/12-1-328x270.png 328w\" alt=\"\" width=\"640\" height=\"527\" \/><\/p>\n<pre>SELECT * FROM account_details WHERE last_name LIKE \"%ll%\" ORDER BY state<\/pre>\n<h2>Import af en databasetabel fra en CSV-fil<\/h2>\n<p>Vi kan ogs\u00e5 importere tabeller fra egnede CSV-filer. Den mest bekvemme m\u00e5de at g\u00f8re det p\u00e5 er at have tabelfeltnavne i CSV-filen som den f\u00f8rste r\u00e6kke tekst. Nedenfor er en kort sektion af en CSV-fil.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/3.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/3.png 647w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/3-300x82.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/3-360x98.png 360w\" alt=\"\" width=\"640\" height=\"175\" \/><\/p>\n<p>Den f\u00f8rste linje indeholder feltnavne: fornavn, efternavn, oprettet, e-mail, tilstand og ID. De andre linjer indeholder datav\u00e6rdierne for hver post, der f\u00f8jes til tabellen. Dette er de samme data som f\u00f8r kun filformatet er \u00e6ndret.\u00a0 N\u00e5r du importerer CSV-data, skal du oprette en tom database, s\u00e5 du har noget at importere dem til. For at g\u00f8re dette skal du klikke p\u00e5 &#8220;New Database&#8221; i v\u00e6rkt\u00f8jslinjen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/4a.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/4a.png 645w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/4a-300x102.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/4a-360x122.png 360w\" alt=\"\" width=\"640\" height=\"217\" \/><\/p>\n<p>En dialogboks for fillagring \u00e5bnes. Navngiv din nye database, og beslut, hvor du vil gemme den. Vi kalder vores &#8220;howtogeek.sqlite3&#8221; og gemmer det i vores hjemme katalog.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/15.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/15.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/15-300x150.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/15-360x179.png 360w\" alt=\"\" width=\"640\" height=\"319\" \/><\/p>\n<p>N\u00e5r dialogboksen &#8220;Rediger tabeldefinition&#8221; vises, skal du klikke p\u00e5 &#8220;Annuller&#8221;. Tilbage i hovedvinduet til DB4S skal du klikke p\u00e5 Filer&gt; Import&gt; Tabel fra CSV-fil. En dialogboks til filvalg \u00e5bnes, hvor du kan v\u00e6lge din CSV-fil..<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/18.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/18.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/18-300x161.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/18-360x193.png 360w\" alt=\"\" width=\"640\" height=\"344\" \/><\/p>\n<p>I vores eksempel kaldes det &#8220;brugere.csv&#8221;, og det er placeret i roden til vores hjemmekatalog. Klik p\u00e5 &#8220;\u00c5bn&#8221;, og der vises en forh\u00e5ndsvisningsdialog for at vise dig, hvordan DB4S fortolker CSV-data.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/19.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/19.png 642w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/19-271x300.png 271w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/19-243x270.png 243w\" alt=\"\" width=\"640\" height=\"710\" \/><\/p>\n<p>Filens navn bruges som navnet p\u00e5 tabellen. Du kan redigere dette, hvis du vil, bare s\u00f8rg for at markere afkrydsningsfeltet ud for &#8220;Kolonnenavne i f\u00f8rste linje.&#8221;<\/p>\n<p>Klik p\u00e5 &#8220;OK&#8221; (det er off-screen i billedet ovenfor). Dataene importeres, og hvis alt er i orden, skal du se dialogboksen &#8220;Import done&#8221;; klik p\u00e5 &#8220;OK&#8221;.<\/p>\n<p>Tryk nu p\u00e5 Browse Data for at se de nye records som er indsat.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/21.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/21.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/21-300x247.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/21-328x270.png 328w\" alt=\"\" width=\"640\" height=\"527\" \/><\/p>\n<p>Vi har dog stadig en lille finjustering at lave. Klik p\u00e5 fanen &#8220;Database struktur&#8221;, v\u00e6lg navnet p\u00e5 tabellen, og klik derefter p\u00e5 &#8220;Modify tabel&#8221; i v\u00e6rkt\u00f8jslinjen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/22.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/22.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/22-300x187.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/22-360x224.png 360w\" alt=\"\" width=\"640\" height=\"398\" \/><\/p>\n<p>I dialogboksen &#8220;Edit tabel definition&#8221; skal du markere afkrydsningsfeltet &#8220;AI&#8221; (automatisk stigning) i feltet &#8220;id&#8221;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/23.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/23.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/23-300x293.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/23-276x270.png 276w\" alt=\"\" width=\"640\" height=\"626\" \/><\/p>\n<p>Afkrydsningsfeltet &#8220;PK&#8221; (prim\u00e6r n\u00f8gle) v\u00e6lges automatisk for dig; klik p\u00e5 &#8220;OK&#8221;. Dette indstiller &#8220;id&#8221; -feltet til automatisk stigning. Vi kan nu tilf\u00f8je en ny post til databasen for at kontrollere, at den fungerer.<\/p>\n<p>Klik p\u00e5 fanen &#8220;Execute SQL&#8221;, og skriv derefter f\u00f8lgende SQL i den \u00f8verste rude (bem\u00e6rk, at vi leverer v\u00e6rdier for alle felter undtagen &#8220;id&#8221;):<\/p>\n<pre>INSERT INTO \"users\" \n(\"first_name\",\"last_name\",\"created\",\"email\",\"state\")\nVALUES ('Dave','McKay','12\/08\/2020','dave@llk.com','Idaho');<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/25.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/25.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/25-300x249.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/25-325x270.png 325w\" alt=\"\" width=\"640\" height=\"532\" \/><\/p>\n<p>Klik p\u00e5 den bl\u00e5 pil (der ser ud som en Play-knap) for at k\u00f8re din SQL-kommando. Klik p\u00e5 &#8220;Browse data&#8221;, og rul til bunden. Du b\u00f8r se din nyligt tilf\u00f8jede post med et automatisk angivet &#8220;id&#8221; -felt med en v\u00e6rdi, der er en h\u00f8jere end den tidligere h\u00f8jeste &#8220;id&#8221; -v\u00e6rdi.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/26.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/26.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/26-300x249.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/26-325x270.png 325w\" alt=\"\" width=\"640\" height=\"532\" \/><\/p>\n<h2>Oprettelse af en database manuelt<\/h2>\n<p>Hvis du ikke har en SQL- eller CVS-fil, der skal importeres, skal du oprette din database manuelt. For at komme i gang skal du klikke p\u00e5 \u201cNew database\u201d og en fil-gem-dialog vises. Indtast navnet p\u00e5 din nye database, og hvor du vil gemme den.<\/p>\n<p>Vi har navngivet vores &#8220;geeksrock.sqlite3&#8221;, og vi gemmer det i &#8220;Dokumenter&#8221; -mappen. N\u00e5r du har navngivet din database og navigeret til det sted, hvor du vil gemme den, skal du klikke p\u00e5 &#8220;Save&#8221;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/27.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/27.png 670w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/27-300x191.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/27-360x229.png 360w\" alt=\"\" width=\"640\" height=\"408\" \/><br \/>\ndialogboksen &#8220;Edit table definition&#8221; vises. Navngiv din nye tabel, og klik derefter p\u00e5 &#8220;Add field&#8221;. Du kan nu skrive et navn til feltet og v\u00e6lge den type information, det vil indeholde i rullemenuen \u201cType\u201d.<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/29.png\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/29.png 630w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/29-296x300.png 296w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/29-266x270.png 266w\" alt=\"\" width=\"630\" height=\"639\" \/><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/31.png\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/31.png 630w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/31-296x300.png 296w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/31-266x270.png 266w\" alt=\"\" width=\"630\" height=\"639\" \/><\/p>\n<p>Afkrydsningsfelterne og andre indstillinger ved siden af \u200b\u200bhvert felt giver dig mulighed for at tilf\u00f8je f\u00f8lgende adf\u00e6rd:<\/p>\n<ul>\n<li><strong>NN<\/strong> (Not Null): N\u00e5r denne indstilling er indstillet, kan feltet ikke efterlades tomt. Hvis du fors\u00f8ger at tilf\u00f8je en post uden at angive en v\u00e6rdi for dette felt, afvise den.<\/li>\n<li><strong>PK<\/strong> (prim\u00e6r n\u00f8gle): Et felt (eller en gruppe af felter), der giver en unik identifikator til posterne i tabellen. Dette kan v\u00e6re en simpel numerisk v\u00e6rdi som de automatisk stigende heltal-felter, vi d\u00e6kkede ovenfor. I en tabel over brugerkonti kan det dog v\u00e6re et brugernavn. Der kan kun v\u00e6re en prim\u00e6r n\u00f8gle i en tabel.<\/li>\n<li><strong>AI<\/strong> (automatisk stigning): Numeriske felter kan udfyldes automatisk med den n\u00e6sth\u00f8jeste ubrugte v\u00e6rdi. Vi brugte dette i &#8220;id&#8221; -feltet i eksemplet, vi d\u00e6kkede ovenfor.<\/li>\n<li><strong>U<\/strong> (entydigt): Dette felt i hver post skal have en unik v\u00e6rdi, hvilket betyder, at der ikke kan v\u00e6re duplikater i dette felt i tabellen.<\/li>\n<li><strong>Default<\/strong>: En standardv\u00e6rdi gives, hvis der tilf\u00f8jes en post, der ikke har nogen v\u00e6rdi i dette felt.<\/li>\n<li><strong>Check<\/strong>: Et felt kan f\u00e5 en kontrol udf\u00f8rt, n\u00e5r en post tilf\u00f8jes. For eksempel kan du kontrollere, at v\u00e6rdien i et telefonnummerfelt indeholder mindst 10 tegn.<\/li>\n<li><strong>Collation<\/strong>: Sqlite kan bruge forskellige metoder til sammenligning af strenge. Standard er<br \/>\nBIN\u00c6R. Andre muligheder er NOCASE, som ikke skelner mellem store og sm\u00e5 bogstaver, og RTRIM, som ignorerer det bageste hvide rum. I de fleste tilf\u00e6lde kan du lade dette v\u00e6re til standardv\u00e6rdien.<\/li>\n<\/ul>\n<ul>\n<li><strong>Foreign key<\/strong>: Et felt eller en gruppe af felter i en post, der skal matche en n\u00f8gle i en anden tabel. For eksempel i en database med v\u00e6rkstedsv\u00e6rkt\u00f8jer har du muligvis en tabel med individuelle v\u00e6rkt\u00f8jer og en anden tabel med v\u00e6rkt\u00f8jskategorier. Hvis v\u00e6rkt\u00f8jskategorierne er &#8220;hammer&#8221;, &#8220;skruen\u00f8gle&#8221; og &#8220;skruetr\u00e6kker&#8221;, kan du ikke tilf\u00f8je en registrering af typen &#8220;mejsel&#8221;.<\/li>\n<\/ul>\n<p>Klik p\u00e5 \u201cOK\u201d, n\u00e5r du har tilf\u00f8jet de \u00f8nskede felter. N\u00e5r din database er oprettet, og din f\u00f8rste tabel er tilf\u00f8jet, kan du tilf\u00f8je nogle poster.<\/p>\n<p>I fanen &#8220;Execute SQL&#8221; brugte vi SQL INSERT-s\u00e6tningen flere gange for at tilf\u00f8je nogle poster til tabellen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/33.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/33.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/33-300x249.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/33-325x270.png 325w\" alt=\"\" width=\"640\" height=\"532\" \/><\/p>\n<p>Vi kan ogs\u00e5 bruge fanen &#8220;Browse Dara&#8221; til at se vores nye poster.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/34.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/34.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/34-300x249.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/34-325x270.png 325w\" alt=\"\" width=\"640\" height=\"532\" \/><\/p>\n<p>Hvis du foretr\u00e6kker at tilf\u00f8je nye poster via brugergr\u00e6nsefladen, skal du klikke p\u00e5 &#8220;New Record&#8221; p\u00e5 v\u00e6rkt\u00f8jslinjen. Du kan derefter indtaste v\u00e6rdierne for den nye post uden at forst\u00e5 SQL.<\/p>\n<h3>Andre Programmers databaser.<\/h3>\n<p>Du kan ogs\u00e5 bruge DB4S til at se de SQLite-databaser, der h\u00f8rer til andre applikationer. At unders\u00f8ge strukturen eller indholdet af andre databaser kan v\u00e6re l\u00e6rerigt (eller bare interessant). Det er dog vigtigt, at du ikke foretager \u00e6ndringer i databaser, der ejes af andre applikationer, ellers kan du p\u00e5virke driften af den applikation negativt.<\/p>\n<p>Lad os se p\u00e5 en af SQLite-databaser, som Firefox opretter og vedligeholder. Klik p\u00e5 &#8220;Open database&#8221; p\u00e5 v\u00e6rkt\u00f8jslinjen, s\u00e5 vises en fil\u00e5bningsdialog. Firefox gemmer sine filer i en mappe kaldet &#8220;firefox&#8221;, som er inde i en skjult mappe kaldet &#8220;.mozilla&#8221;, der sidder i dit hjemmekatalog.<\/p>\n<p>P\u00e5 vores testmaskine fandt vi Firefox SQLite-databaser p\u00e5 dette sted: \u201chome\/dave\/.mozilla \/firefox\/vpvuy438.default-release\u201d; din vil v\u00e6re p\u00e5 et lignende sted.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/36.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/36.png 668w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/36-300x190.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/36-360x228.png 360w\" alt=\"\" width=\"640\" height=\"405\" \/><\/p>\n<p>Vi \u00e5bner databasen &#8220;cookies.sqlite&#8221;, s\u00e5 vi fremh\u00e6ver filen og derefter klikker p\u00e5 &#8220;Open&#8221;. N\u00e5r databasen er \u00e5bnet, kan du unders\u00f8ge dens tabelstruktur, feltdefinitioner og data.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/37-1.png\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" srcset=\"https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/37-1.png 646w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/37-1-300x242.png 300w, https:\/\/www.linuxboxen.dk\/wp-content\/uploads\/2021\/02\/37-1-334x270.png 334w\" alt=\"\" width=\"640\" height=\"517\" \/><\/p>\n<p>Her kan vi se en r\u00e6kke Google- og YouTube-cookies.<\/p>\n<p>Det er ogs\u00e5 nyttigt at eksportere en database (ved at klikke p\u00e5 File&gt; Export&gt; Database to SQL File). Ved at se p\u00e5 SQL-dumpen i en database kan du se hele skemaet for databasen gengivet i SQL-statemen<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_21827\" class=\"pvc_stats all  \" data-element-id=\"21827\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Som de selv beskriver det i man pages. SQLite Database Browser er et visuelt v\u00e6rkt\u00f8j, der bruges til at oprette, design og redigere database filer, der er kompatibel med SQLite. Det er beregnet til at blive brugt til brugere og udviklere, der \u00f8nsker at oprette databaser, redigere og s\u00f8ge data ved hj\u00e6lp af en velkendt [&hellip;]<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_21827\" class=\"pvc_stats all  \" data-element-id=\"21827\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/www.linuxboxen.dk\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"categories":[2,4],"tags":[],"class_list":["post-21827","post","type-post","status-publish","format-standard","hentry","category-tips","category-database"],"a3_pvc":{"activated":true,"total_views":10,"today_views":0},"_links":{"self":[{"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/posts\/21827","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21827"}],"version-history":[{"count":0,"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=\/wp\/v2\/posts\/21827\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21827"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21827"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxboxen.dk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21827"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}