Heim Backend-Entwicklung Python-Tutorial Python verwendet das SQLite3-Modul, um die SQLite-Datenbank zu betreiben

Python verwendet das SQLite3-Modul, um die SQLite-Datenbank zu betreiben

Oct 18, 2016 am 09:38 AM

SQLite ist eine leichtgewichtige Datenbank, die in einer C-Bibliothek enthalten ist. Es erfordert keinen separaten Wartungsprozess und ermöglicht die Verwendung nicht standardmäßiger Varianten von SQL-Abfragen für den Zugriff auf die Datenbank.

Einige Anwendungen verwenden SQLite, um interne Daten zu speichern. Es kann auch beim Prototyping von Anwendungen für die spätere Übertragung in größere Datenbanken verwendet werden.

Die Hauptvorteile von SQLite:

1. Konsistentes Dateiformat:

Dies wird in der offiziellen Dokumentation von SQLite erklärt. Wir sollten SQLite nicht mit Oracle oder PostgreSQL vergleichen Vergleichen Sie, dass SQLite im Vergleich zu unseren Datendateien im benutzerdefinierten Format nicht nur eine gute

Portabilität wie Big-Endian, Little-Endian, 32/64-Bit und andere plattformbezogene Probleme bietet, sondern auch Daten bereitstellt Effizienz des Zugriffs, z. B. Erstellen eines Index basierend auf bestimmten Informationen, wodurch die Leistung beim Zugriff oder beim Sortieren dieser Art von Daten verbessert wird. Die von SQLite bereitgestellte Transaktionsfunktion kann beim Betrieb normaler Dateien nicht effektiv garantiert werden.

2. Anwendung auf eingebetteten oder mobilen Geräten:

Da SQLite zur Laufzeit weniger Ressourcen beansprucht und keinen Verwaltungsaufwand erfordert, ist es für PDAs und Smartphones geeignet und anderen

Mobilgeräten sind die Vorteile von SQLite unbestritten.

3. Interne Datenbank:

In einigen Anwendungsszenarien müssen wir eine Datenfilterung oder Datenbereinigung für die in den Datenbankserver eingefügten Daten durchführen, um die endgültige Einfügung sicherzustellen Datengültigkeit für den Datenbankserver. Manchmal kann nicht anhand eines einzelnen Datensatzes beurteilt werden, ob die Daten gültig sind. Stattdessen müssen spezielle Berechnungen mit den historischen Daten eines kurzen Zeitraums durchgeführt werden, und dann werden die Berechnungsergebnisse verwendet, um zu beurteilen, ob die aktuellen Daten zulässig sind .

In dieser Anwendung können wir SQLite verwenden, um diesen Teil der historischen Daten zu puffern. Es gibt ein weiteres einfaches Szenario, das auch für SQLite gilt, nämlich die Vorberechnung von Statistiken. Wenn wir beispielsweise ein Dienstprogramm ausführen, das Daten in Echtzeit sammelt, müssen wir die Daten möglicherweise alle 10 Sekunden zusammenfassen, um stündliche Statistiken zu erstellen. Diese Statistiken können die Datenmenge bei Benutzerabfragen erheblich reduzieren und dadurch die Front erheblich verbessern -End-Programm. Abfrageeffizienz. In dieser Anwendung können wir die gesammelten Daten innerhalb einer Stunde in SQLite zwischenspeichern und bei Erreichen der Stunde die zwischengespeicherten Daten berechnen und die Daten löschen.

4. Datenanalyse:

Sie können die von SQLite bereitgestellten SQL-Funktionen vollständig nutzen, um einfache Funktionen zur statistischen Datenanalyse durchzuführen. Dies wird von Yaml- und CSV-Dateien nicht erreicht.

Meiner Meinung nach ist es sehr klein und sehr gut für temporäre Datenbanken geeignet. Die Migration von Daten ist sehr einfach, übertragen Sie die Datei einfach direkt. Tatsächlich habe ich mich von Anfang an für LevelDB entschieden, aber seine Funktionen ähneln NoSQL, sodass einige leicht komplexe Abfragen etwas mühsam sind.

1. Erstellen Sie eine neue Datenbank: sqlite3-Dateiname

Diese test.db speichert alle Daten.

sqlite3 rui.db

2. Öffnen Sie eine vorhandene Datenbank: sqlite3 Vorhandener Dateiname

Erstellen Sie eine neue Datenbank und öffnen Sie eine. Die Befehle für die vorhandene Datenbanken sind genau gleich. Wenn die Datei nicht im aktuellen Verzeichnis vorhanden ist, öffnen Sie sie.

3. Daten importieren: .read-Datendatei

Öffnen Sie Notepad, kopieren Sie die folgenden SQL-Anweisungen in Notepad und speichern Sie sie wie oben erwähnt in der Datenbank als test.sql Geben Sie im Verzeichnis

.read test.sql

in die Befehlszeilenumgebung ein, um alle Daten in die Datenbank rui.db zu importieren.

4. Alle Datentabellen auflisten: .tables

Nach Abschluss aller oben genannten Arbeiten können wir alle Datentabellen auflisten

[root@devops-ruifengyun /tmp ]$ sqlite3 rui.db 
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
ceshi  tbl1 
sqlite> 
sqlite>
Nach dem Login kopieren

5. Zeigen Sie die Datenbankstruktur an: .schema

sind eigentlich einige SQL-Anweisungen. Sie beschreiben die Struktur der Datenbank, wie in der Abbildung gezeigt

sqlite> .schema
CREATE TABLE tbl1(one varchar(10), two smallint);
CREATE TABLE ceshi (user text, note text);
Nach dem Login kopieren

6. Zeigen Sie die Struktur der Tabelle an: .schema-Tabellenname

sqlite> .schema ceshi
CREATE TABLE ceshi (user text, note text)
Nach dem Login kopieren

7 : .dump Tabellenname

sqlite> .dump tbl1
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE tbl1(one varchar(10), two smallint);
INSERT INTO "tbl1" VALUES('goodbye',20);
INSERT INTO "tbl1" VALUES('hello!',10);
COMMIT;
Nach dem Login kopieren

Erklären wir die Verwendung von Python SQLite3. Tatsächlich ist es MySQL sehr ähnlich

import sqlite3
#原文: xiaorui.cc 
#链接数据库文,sqlite都是以文件的形式存在的。
#如果数据库文件不存在,回新建一个,如果存在则打开此文件
conn = sqlite3.connect('example')
c = conn.cursor()
#创建table
c.execute('''create table ceshi (user text, note text)''')
   
# 插入数据,执行SQL语句
c.execute('''insert into ceshi (user,note)  values('mPfiJRIH9T','mPfiJRIH9T')''')
c.execute('''insert into ceshi (user,note)  values('7IYcUrKWbw','7IYcUrKWbw')''')
c.execute('''insert into ceshi (user,note)  values('bXB9VcPdnq','bXB9VcPdnq')''')
c.execute('''insert into ceshi (user,note)  values('2JFk7EWcCz','2JFk7EWcCz')''')
c.execute('''insert into ceshi (user,note)  values('QeBFAlYdPr','QeBFAlYdPr')''')
c.execute('''insert into ceshi (user,note)  values('bDL4T69rsj','bDL4T69rsj')''')
c.execute('''insert into ceshi (user,note)  values('BOxPqmkEd9','BOxPqmkEd9')''')
c.execute('''insert into ceshi (user,note)  values('rvBegjXs16','rvBegjXs16')''')
c.execute('''insert into ceshi (user,note)  values('CWrhA2eSmQ','CWrhA2eSmQ')''')
c.execute('''insert into ceshi (user,note)  values('qQicfV2gvG','qQicfV2gvG')''')
c.execute('''insert into ceshi (user,note)  values('s3vg1EuBQb','s3vg1EuBQb')''')
c.execute('''insert into ceshi (user,note)  values('Lne4xj3Xpc','Lne4xj3Xpc')''')
c.execute('''insert into ceshi (user,note)  values('PH3R86CKDT','PH3R86CKDT')''')
c.execute('''insert into ceshi (user,note)  values('HEK7Ymg0Bw','HEK7Ymg0Bw')''')
c.execute('''insert into ceshi (user,note)  values('lim2OCxhQp','lim2OCxhQp')''')
c.execute('''insert into ceshi (user,note)  values('kVFfLljBJI','kVFfLljBJI')''')
c.execute('''insert into ceshi (user,note)  values('Hpbs3VOXNq','Hpbs3VOXNq')''')
c.execute('''insert into ceshi (user,note)  values('f5ubmznBIE','f5ubmznBIE')''')
c.execute('''insert into ceshi (user,note)  values('beJCQA2oXV','beJCQA2oXV')''')
c.execute('''insert into ceshi (user,note)  values('JyPx0iTBGV','JyPx0iTBGV')''')
c.execute('''insert into ceshi (user,note)  values('4S7RQTqw2A','4S7RQTqw2A')''')
c.execute('''insert into ceshi (user,note)  values('ypDgkKi27e','ypDgkKi27e')''')
c.execute('''insert into ceshi (user,note)  values('Anrwx8SbIk','Anrwx8SbIk')''')
c.execute('''insert into ceshi (user,note)  values('k5ZJFrd8am','k5ZJFrd8am')''')
c.execute('''insert into ceshi (user,note)  values('KYcTv54QVC','KYcTv54QVC')''')
c.execute('''insert into ceshi (user,note)  values('Jv6OyfMA0g','Jv6OyfMA0g')''')
c.execute('''insert into ceshi (user,note)  values('kpSLsQYzuV','kpSLsQYzuV')''')
c.execute('''insert into ceshi (user,note)  values('u2zkJQWdOY','u2zkJQWdOY')''')
c.execute('''insert into ceshi (user,note)  values('D0aspFbW8c','D0aspFbW8c')''')
c.execute('''insert into ceshi (user,note)  values('CwqhvDOrWZ','CwqhvDOrWZ')''')
c.execute('''insert into ceshi (user,note)  values('Tdy5LA9sWO','Tdy5LA9sWO')''')
c.execute('''insert into ceshi (user,note)  values('76HnRVbLX0','76HnRVbLX0')''')
c.execute('''insert into ceshi (user,note)  values('B3aoFibRPV','B3aoFibRPV')''')
c.execute('''insert into ceshi (user,note)  values('7Q6lNdL5JP','7Q6lNdL5JP')''')
c.execute('''insert into ceshi (user,note)  values('Hsob6Jyv4A','Hsob6Jyv4A')''')
#将变动保存到数据库文件,如果没有执行词语句,则前面的insert 语句操作不会被保存
conn.commit()
c.execute('''select * from ceshi ''').fetchall()
#得到所有的记录
rec = c.execute('''select * from ceshi''')
print c.fetchall()
Nach dem Login kopieren


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Apr 01, 2025 pm 05:09 PM

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Apr 01, 2025 pm 11:15 PM

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Apr 02, 2025 am 07:18 AM

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Apr 02, 2025 am 07:15 AM

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

Was sind reguläre Ausdrücke? Was sind reguläre Ausdrücke? Mar 20, 2025 pm 06:25 PM

Regelmäßige Ausdrücke sind leistungsstarke Tools für Musteranpassung und Textmanipulation in der Programmierung, wodurch die Effizienz bei der Textverarbeitung in verschiedenen Anwendungen verbessert wird.

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Apr 01, 2025 pm 10:51 PM

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Was sind einige beliebte Python -Bibliotheken und ihre Verwendung? Was sind einige beliebte Python -Bibliotheken und ihre Verwendung? Mar 21, 2025 pm 06:46 PM

In dem Artikel werden beliebte Python-Bibliotheken wie Numpy, Pandas, Matplotlib, Scikit-Learn, TensorFlow, Django, Flask und Anfragen erörtert, die ihre Verwendung in wissenschaftlichen Computing, Datenanalyse, Visualisierung, maschinellem Lernen, Webentwicklung und h beschreiben

Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Apr 01, 2025 pm 11:18 PM

Wie erstellt in Python ein Objekt dynamisch über eine Zeichenfolge und ruft seine Methoden auf? Dies ist eine häufige Programmieranforderung, insbesondere wenn sie konfiguriert oder ausgeführt werden muss ...

See all articles