Golang SQLite-Beispiele

Golang Sqlite Beispiele



Golang ist eine Open-Source-Programmiersprache. Es unterstützt verschiedene Arten von Datenbanktools. SQLite ist eine beliebte relationale Datenbank-Engine und Golang verfügt über ein Datenbank-/SQL-Paket, mit dem eine Verbindung zur SQLite-Datenbank hergestellt und verschiedene Arten von Datenbankaufgaben ausgeführt werden können. Es wird gezeigt, wie Sie eine Verbindung mit der SQLite-Datenbank herstellen und verschiedene Arten von Datenbankoperationen ausführen, z. B. das Erstellen der Tabelle, das Einfügen der Datensätze in die Tabelle, das Lesen der Daten aus der Tabelle, das Aktualisieren der Daten der Tabelle und das Löschen der Datensätze aus der Tabelle in diesem Tutorial mit dem Golang-Skript.

Voraussetzungen:

Sie müssen die folgenden Aufgaben erledigen, bevor Sie die Beispiele in diesem Tutorial üben können:

A. Installieren Sie die Golang-Sprache im System, falls sie noch nicht installiert wurde. Führen Sie den folgenden Befehl aus, um die installierte Version von Golang zu überprüfen:







$ go-Version



B. Installieren Sie sqlite3 im System, falls es noch nicht installiert wurde. Sqlite3 ist standardmäßig auf Ubuntu 20+ installiert. Führen Sie den folgenden Befehl aus, um die installierte Version von sqlite3 zu überprüfen:



$ sqlite3 --version





C. Führen Sie die folgenden Befehle aus, um einen Ordner mit dem Namen „golang-sqlite“ zu erstellen, und wechseln Sie zu diesem Ordner, in dem die SQLite-Datenbankdatei und die Golang-Datei gespeichert werden:

$ mkdir golang-sqlite
$ cd golang-sqlite

D. Führen Sie den folgenden Befehl aus, um das erforderliche Golang-Paket herunterzuladen, um SQLite mit Golang zu verwenden:



$ go get github.com/mattn/go-sqlite3

Datenbankoperationen mit Golang und SQLite

In diesem Tutorial werden die grundlegenden Datenbankoperationen mit der SQLite-Datenbank und dem Golang-Skript gezeigt. Die Liste der Datenbankaufgaben, die in diesem Tutorial behandelt werden, wird im Folgenden erwähnt:

  1. Erstellen Sie eine SQLite-Datenbank
  2. Stellen Sie eine SQLite-Datenbankverbindung her
  3. Erstellen Sie eine neue Tabelle
  4. Fügen Sie die Daten in die Tabelle ein
  5. Lesen Sie die Daten aus der Tabelle
  6. Aktualisieren Sie die Daten der Tabelle
  7. Löschen Sie die Daten aus der Tabelle

Erstellen Sie eine SQLite-Datenbank mit Golang

Erstellen Sie eine Golang-Datei mit dem folgenden Skript, das eine neue SQLite-Datenbankdatei mit dem Namen „test.db“ erstellt. Vier Module werden in das Skript importiert. Um die Ausgabe im Terminal auszudrucken, wird das Modul „fmt“ verwendet. Das Modul „log“ wird verwendet, um das Programm abzubrechen, wenn ein Fehler auftritt. Das „os“-Modul wird verwendet, um die SQLite-Datenbank zu erstellen und den Fehler zu behandeln. Das Modul „go-sqlite3“ wird verwendet, um über Golang Verbindungen mit der SQLite-Datenbank herzustellen. Zur Erstellung einer SQLite-Datenbank wird hier die Methode Create() des Moduls „os“ verwendet. Wenn die Datenbank erfolgreich erstellt wurde, wird im Terminal eine Erfolgsmeldung ausgegeben. Andernfalls wird das Programm beendet. Um die Datenbankverbindung zu schließen, wird die Methode Close() aufgerufen.

Paket hauptsächlich

//Importieren Sie die erforderlichen Module
importieren (
„fmt“
'Protokoll'
'Du'
_ 'github.com/mattn/go-sqlite3'
)

Funktion hauptsächlich () {

//Eine neue SQLite-Datenbank erstellen
db , irren := Du . Erstellen ( „test.db“ )
//Auf Fehler prüfen
Wenn irren != Null {
//Fügen Sie die Fehlermeldung zum Protokoll hinzu
Protokoll . Tödlich ( irren )
} anders {
// Erfolgsmeldung drucken
fmt . Druckenln ( „Datenbank wird erstellt.“ )
}
//Schließen Sie die Datenbankverbindung
db . Schließen ()
}

Führen Sie den folgenden Befehl aus, um die Datei „db_connect.go“ auszuführen:

$ los, führe db_connect.go aus

Führen Sie den Befehl „ls“ aus, um zu überprüfen, ob die Datenbankdatei „test.db“ erstellt wurde oder nicht:

$ ls

Die folgende Ausgabe zeigt, dass die Erfolgsmeldung „Datenbank wurde erstellt“ in der Ausgabe gedruckt und die Datei „test.db“ am aktuellen Speicherort erstellt wird:

Stellen Sie mithilfe von Golang eine Verbindung zu einer SQLite-Datenbank her

Erstellen Sie eine Golang-Datei mit dem folgenden Skript, das die Datenbankdatei „test.db“ öffnet und die Verbindung mit der Datenbank herstellt. Für diese Aufgabe wird hier das Datenbank-/SQL-Modul von Golang importiert. Hier wird die Methode open() verwendet, um die Verbindung mit der bestehenden SQLite-Datenbank herzustellen. Bei erfolgreicher Datenbankverbindung wird im Terminal eine Erfolgsmeldung ausgegeben. Andernfalls wird das Programm beendet.

Paket hauptsächlich

//Importieren Sie die erforderlichen Module
importieren (
„fmt“
'Protokoll'
„Datenbank/SQL“
_ 'github.com/mattn/go-sqlite3'
)

Funktion hauptsächlich () {

//Eine neue SQLite-Datenbank erstellen
db , irren := sql . Offen ( „sqlite3“ , „test.db“ )
//Auf Fehler prüfen
Wenn irren != Null {
//Fügen Sie die Fehlermeldung zum Protokoll hinzu
Protokoll . Tödlich ( irren )
} anders {
// Erfolgsmeldung drucken
fmt . Druckenln ( „Datenbank wurde erfolgreich verbunden.“ )
}
//Schließen Sie die Datenbankverbindung
db . Schließen ()
}

Führen Sie den folgenden Befehl aus, um die Datei „db_connect2.go“ auszuführen:

$ los, führe db_connect2.go aus

Die folgende Ausgabe zeigt, dass die Datenbankdatei „test.db“ erfolgreich geöffnet und verbunden wurde. Die Erfolgsmeldung „Datenbank wurde erfolgreich verbunden“ wird in der Ausgabe gedruckt:

Erstellen Sie mit Golang eine Tabelle in einer SQLite-Datenbank

Erstellen Sie eine Golang-Datei mit dem folgenden Skript, das eine Datenbanktabelle mit dem Namen „members“ in der Datenbankdatei „test.db“ erstellt. Die Exec()-Methode wird hier verwendet, um die CREATE TABLE-Abfrage auszuführen, die die „Mitglieder“-Tabelle mit sechs Feldern und einem Primärschlüssel erstellt. Wenn die Tabelle erfolgreich in der Datenbank erstellt wurde, wird eine Erfolgsmeldung gedruckt. Andernfalls wird das Programm beendet.

Paket hauptsächlich

//Importieren Sie die erforderlichen Module
importieren (
„fmt“
'Protokoll'
„Datenbank/SQL“
_ 'github.com/mattn/go-sqlite3'
)

Funktion hauptsächlich () {

//Eine neue SQLite-Datenbank erstellen
db , irren := sql . Offen ( „sqlite3“ , „test.db“ )
//Auf Fehler prüfen
Wenn irren != Null {
//Fügen Sie die Fehlermeldung zum Protokoll hinzu
Protokoll . Tödlich ( irren )
} anders {
const Abfrage Zeichenfolge = `
TABELLE ERSTELLEN, WENN NICHT EXISTIERT Mitglieder (
id INTEGER NICHT NULL PRIMÄRSCHLÜSSEL,
name CHAR(40) NICHT NULL,
mtype CHAR(100) NICHT NULL,
E-Mail CHAR(50),
Adresse TEXT NICHT NULL,
mobile CHAR(25) NOT NULL);`

_ , irren := db . Geschäftsführer ( Abfrage );

Wenn irren != Null {
//Fügen Sie die Fehlermeldung zum Protokoll hinzu
Protokoll . Tödlich ( irren )
} anders {
// Erfolgsmeldung drucken
fmt . Druckenln ( „Tabelle wurde erfolgreich erstellt.“ )
}

}
//Schließen Sie die Datenbankverbindung
db . Schließen ()
}

Führen Sie den folgenden Befehl aus, um die Datei „create_table.go“ auszuführen:

$ los, führe create_table.go aus

Die folgende Ausgabe zeigt, dass die Tabelle erfolgreich in der Datenbank erstellt wurde. Die Erfolgsmeldung „Tabelle wurde erfolgreich erstellt“ wird im Terminal gedruckt:

Sie können sich bei SQLite anmelden, um zu überprüfen, ob die Tabelle in der Datenbank erstellt wurde oder nicht.

Führen Sie den folgenden Befehl aus, um SQLite mit der Datenbank „test.db“ auszuführen:

$ sqlite3 test.db

Führen Sie den SQLite-Befehl „.tables“ an der SQLite-Eingabeaufforderung aus, um die Tabellennamen der Datenbank zu überprüfen:

sqlite3 > .tables

Die folgende Ausgabe zeigt, dass die Datenbank die „members“-Tabelle enthält, die durch die Ausführung des Golang-Skripts erstellt wird:

Fügen Sie die Datensätze mit Golang in die SQLite-Tabelle ein

Durch mehrmaliges Ausführen der INSERT-Abfrage oder durch Hinzufügen mehrerer Werte in einer einzelnen INSERT-Abfrage können mehrere Datensätze in die Tabelle eingefügt werden. Erstellen Sie mit dem folgenden Skript eine Golang-Datei, die mit einer einzigen INSERT-Abfrage drei Datensätze in die Tabelle „members“ der Datenbankdatei „test.db“ einfügt. Hier wird die Methode Exec() verwendet, um die INSERT-Abfrage auszuführen. Wenn die Datensätze erfolgreich in die Tabelle eingefügt wurden, wird eine Erfolgsmeldung gedruckt. Andernfalls wird das Programm beendet.

Paket hauptsächlich

//Importieren Sie die erforderlichen Module
importieren (
„fmt“
'Protokoll'
„Datenbank/SQL“
_ 'github.com/mattn/go-sqlite3'
)

Funktion hauptsächlich () {

//Eine neue SQLite-Datenbank erstellen
db , irren := sql . Offen ( „sqlite3“ , „test.db“ )
//Auf Fehler prüfen
Wenn irren != Null {
//Fügen Sie die Fehlermeldung zum Protokoll hinzu
Protokoll . Tödlich ( irren )
} anders {
const Abfrage Zeichenfolge = `
INSERT INTO-Mitglieder (ID, Name, Mtype, E-Mail, Adresse, Mobiltelefon)
VALUES(1, 'Nehal Ahmed', 'Silver', 'nehal@gmail.com','36, Dhanmondi 2, Dhaka','01844657342'),
(2, „Abir Chowdhury“, „Gold“, „abir@gmail.com“, „102, Mirpur 10, Dhaka“, „01994563423“),
(3, 'Mirza Abbas', 'Silver', 'abbas@gmail.com','12, Jigatala, Dhaka','01640006710');`


//Abfrage ausführen
_ , irren := db . Geschäftsführer ( Abfrage );

Wenn irren != Null {
//Fügen Sie die Fehlermeldung zum Protokoll hinzu
Protokoll . Tödlich ( irren )
} anders {
// Erfolgsmeldung drucken
fmt . Druckenln ( „Datensätze erfolgreich eingefügt.“ )
}
}

//Schließen Sie die Datenbankverbindung
db . Schließen ()
}

Führen Sie den folgenden Befehl aus, um die Datei „insert_table.go“ auszuführen:

$ los, führe insert_table.go aus

Die folgende Ausgabe zeigt, dass Datensätze erfolgreich in die Tabelle eingefügt wurden. Die Erfolgsmeldung „Datensätze erfolgreich eingefügt“ wird in der Ausgabe gedruckt:

Sie können sich bei SQLite anmelden, um zu überprüfen, ob die drei Datensätze erfolgreich in die „Mitglieder“-Tabelle eingefügt wurden oder nicht.

Führen Sie den folgenden Befehl aus, um SQLite mit der Datenbank „test.db“ auszuführen:

$ sqlite3 test.db

Führen Sie die folgende SELECT-Abfrage aus, um den gesamten Inhalt der Tabelle „members“ zu lesen:

sqlite3 > AUSWÄHLEN * VON Mitgliedern ;

Die folgende Ausgabe zeigt, dass die Tabelle „members“ drei Datensätze enthält, die vom Golang-Skript eingefügt werden:

Lesen Sie die Daten der SQLite-Tabelle mit Golang

Erstellen Sie mit dem folgenden Skript eine Golang-Datei, die die Datensätze der Tabelle „members“ liest. Sie müssen die Variablen in Golang definieren, um die Werte zu speichern, die von der SELECT-Abfrage zurückgegeben werden. In diesem Skript werden mithilfe der SELECT-Abfrage fünf Felder aus der Tabelle „members“ abgerufen. Daher werden im Skript fünf Variablen definiert, um die Werte der fünf Felder der Tabelle „members“ zu speichern, wobei der Wert des Felds „mtype“ „Silver“ ist. Zur Ausführung der SELECT-Abfrage wird hier die Methode Query() verwendet. Als nächstes wird die „for“-Schleife verwendet, um die Ergebnismenge zu lesen, die von der SELECT-Abfrage zurückgegeben wird. Die Funktion printf() wird verwendet, um die formatierten Werte der Ergebnismenge zu drucken.

Paket hauptsächlich

//Importieren Sie die erforderlichen Module
importieren (
„fmt“
'Protokoll'
„Datenbank/SQL“
_ 'github.com/mattn/go-sqlite3'
)

Funktion hauptsächlich () {

//Eine neue SQLite-Datenbank erstellen
db , irren := sql . Offen ( „sqlite3“ , „test.db“ )

//Auf Fehler prüfen
Wenn irren != Null {
//Fügen Sie die Fehlermeldung zum Protokoll hinzu
Protokoll . Tödlich ( irren )
} anders {

//Variablen deklarieren, um die Zeilenwerte zu speichern
War Ausweis int
War Name Zeichenfolge
War mtyp Zeichenfolge
War Adresse Zeichenfolge
War Handy, Mobiltelefon Zeichenfolge
const Abfrage Zeichenfolge = `SELECT id, name, mtype, address, mobile
VON Mitgliedern
WHERE mtype = 'Silber';`


//Abfrage ausführen
Reihen , irren := db . Abfrage ( Abfrage );

Wenn irren != Null {
//Fügen Sie die Fehlermeldung zum Protokoll hinzu
Protokoll . Tödlich ( irren )
} anders {

// Erfolgsmeldung drucken
fmt . Druckenln ( „Aufzeichnungen aller Silber-Mitglieder:“ )
fmt . Druckenln ( 'AUSWEIS \T Name \T \T Mitgliedstyp \T Adresse \T \T Kontakt Nr. )
für Reihen . Nächste () {
Reihen . Scan ( &Ausweis , &Name , &mtyp , &Adresse , &Handy, Mobiltelefon )
fmt . Druckenf ( '%D \T %S \T %S \T %S \T %S \N ' , Ausweis , Name , mtyp , Adresse , Handy, Mobiltelefon )
}
}
}
//Schließen Sie die Datenbankverbindung
db . Schließen ()
}

Führen Sie den folgenden Befehl aus, um die Datei „select_table.go“ auszuführen:

$ go, führe select_table.go aus

In der Tabelle „members“ sind zwei Datensätze vorhanden, die „Silver“ im Feld „mtype“ enthalten. Die folgende Ausgabe zeigt zwei Datensätze der Tabelle „members“, die von der SELECT-Abfrage zurückgegeben werden:

Aktualisieren Sie die Daten der SQLite-Tabelle mit Golang

Erstellen Sie eine Golang-Datei mit dem folgenden Skript, das den Wert des mobilen Felds der Tabelle „Mitglieder“ ändert, das den ID-Wert 2 enthält. Die Exec()-Methode wird hier verwendet, um die UPDATE-Abfrage auszuführen. Wenn der Datensatz in der Tabelle erfolgreich aktualisiert wurde, wird eine Erfolgsmeldung gedruckt. Andernfalls wird das Programm beendet.

Paket hauptsächlich

//Importieren Sie die erforderlichen Module
importieren (
„fmt“
'Protokoll'
„Datenbank/SQL“
_ 'github.com/mattn/go-sqlite3'
)

Funktion hauptsächlich () {

//Eine neue SQLite-Datenbank erstellen
db , irren := sql . Offen ( „sqlite3“ , „test.db“ )
//Auf Fehler prüfen
Wenn irren != Null {
//Fügen Sie die Fehlermeldung zum Protokoll hinzu
Protokoll . Tödlich ( irren )
} anders {
const Abfrage Zeichenfolge = `
UPDATE-Mitglieder SET mobile = '018563452390' WHERE id = 2;`

_ , irren := db . Geschäftsführer ( Abfrage );

Wenn irren != Null {
//Fügen Sie die Fehlermeldung zum Protokoll hinzu
Protokoll . Tödlich ( irren )
} anders {
// Erfolgsmeldung drucken
fmt . Druckenln ( „Datensatz wurde erfolgreich aktualisiert.“ )
}
}
//Schließen Sie die Datenbankverbindung
db . Schließen ()
}

Führen Sie den folgenden Befehl aus, um die Datei „update_table.go“ auszuführen:

$ los, starte update_table.go

In der Tabelle „Mitglieder“ enthält die zweite Zeile den ID-Wert 2. Die folgende Ausgabe zeigt, dass der Datensatz der Tabelle erfolgreich aktualisiert wurde. Die Erfolgsmeldung „Datensatz wurde erfolgreich aktualisiert“ wird im Terminal gedruckt:

Sie können sich bei SQLite anmelden, um zu überprüfen, ob ein Datensatz der Mitgliedertabelle aktualisiert ist oder nicht.

Führen Sie den folgenden Befehl aus, um SQLite mit der Datenbank „test.db“ auszuführen:

$ sqlite3 test.db

Führen Sie die folgende SELECT-Abfrage aus, um den gesamten Inhalt der Tabelle „members“ zu lesen:

sqlite3 > AUSWÄHLEN * VON Mitgliedern ;

Der Wert des mobilen Feldes der 2 nd Der Datensatz der Mitgliedertabelle lautet „01994563423“, bevor das Skript ausgeführt wird. Die folgende Ausgabe zeigt, dass der Wert des mobilen Felds der 2 nd Der Datensatz der Mitgliedertabelle wird nach der Ausführung des Skripts in „018563452390“ geändert:

Löschen Sie die Daten der SQLite-Tabelle mit Golang

Erstellen Sie eine Golang-Datei mit dem folgenden Skript, das die 3 löscht rd Datensatz der Tabelle „members“, der den ID-Wert 3 enthält. Die Exec()-Methode wird hier verwendet, um die DELETE-Abfrage auszuführen. Wenn der Datensatz erfolgreich aus der Tabelle gelöscht wurde, wird eine Erfolgsmeldung gedruckt. Andernfalls wird das Programm beendet.

Paket hauptsächlich

//Importieren Sie die erforderlichen Module
importieren (
„fmt“
'Protokoll'
„Datenbank/SQL“
_ 'github.com/mattn/go-sqlite3'
)

Funktion hauptsächlich () {

//Eine neue SQLite-Datenbank erstellen
db , irren := sql . Offen ( „sqlite3“ , „test.db“ )
//Auf Fehler prüfen
Wenn irren != Null {
//Fügen Sie die Fehlermeldung zum Protokoll hinzu
Protokoll . Tödlich ( irren )
} anders {
//Definieren Sie die Löschabfrage
const Abfrage Zeichenfolge = `DELETE FROM member WHERE id = 3;`
//Abfrage ausführen
_ , irren := db . Geschäftsführer ( Abfrage );

Wenn irren != Null {
//Fügen Sie die Fehlermeldung zum Protokoll hinzu
Protokoll . Tödlich ( irren )
} anders {
// Erfolgsmeldung drucken
fmt . Druckenln ( „Datensatz wurde erfolgreich gelöscht.“ )
}
}
//Schließen Sie die Datenbankverbindung
db . Schließen ()
}

Führen Sie den folgenden Befehl aus, um die Datei „delete_table.go“ auszuführen:

$ los, führe delete_table.go aus

Die folgende Ausgabe zeigt, dass die 3 rd Der Datensatz der Tabelle „members“ wurde erfolgreich gelöscht. Die Erfolgsmeldung „Datensatz wurde erfolgreich gelöscht“ wird im Terminal gedruckt:

Sie können sich bei SQLite anmelden, um zu überprüfen, ob ein Datensatz der Mitgliedertabelle gelöscht wurde oder nicht.

Führen Sie den folgenden Befehl aus, um SQLite mit der Datenbank „test.db“ auszuführen:

$ sqlite3 test.db

Führen Sie die folgende SELECT-Abfrage aus, um den gesamten Inhalt der Tabelle „members“ zu lesen:

sqlite3 > AUSWÄHLEN * VON Mitgliedern ;

Die folgende Ausgabe zeigt, dass der Wert der 3 rd Der Datensatz der Mitgliedertabelle wird nach der Ausführung des Skripts gelöscht und die anderen beiden Datensätze werden in der Ausgabe gedruckt:

Abschluss

Sowohl SQLite als auch Golang sind mittlerweile wegen ihrer Einfachheit und leichten Funktionen beliebt. Jede einfache datenbankbasierte Anwendung kann mit diesen Tools problemlos implementiert werden. Der Hauptteil jeder Anwendung besteht darin, die CRUD-Operation zu implementieren. Die Methoden zur Implementierung des CRUD-Vorgangs mit Golang-Skript und SQLite-Datenbank werden in diesem Tutorial anhand mehrerer Golang-Dateien erläutert. Wenn Sie ein Neuling in der Go-Sprache und der SQLite-Datenbank sind, hilft Ihnen dieses Tutorial dabei, diese von Grund auf zu erlernen.