Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie eine SQLite-Datenbank in Python

So verwenden Sie eine SQLite-Datenbank in Python

王林
王林nach vorne
2023-05-11 08:25:061849Durchsuche

SQL (Structured Query Language) ist eine allgemeine Datenbankabfragesprache. SQL verfügt über Datendefinitions-, Datenoperations- und Datenkontrollfunktionen und kann die gesamte Arbeit der Datenbank erledigen. Wenn Sie die SQL-Sprache verwenden, müssen Sie dem Computer nur sagen, „was er tun soll“, ohne ihm zu sagen, „wie es zu tun ist“.

Es gibt zwei Möglichkeiten, die SQL-Sprache interaktiv im Befehlsmodus zu verwenden. Die andere besteht darin, sie in Hauptsprachen wie C/C++ und Python einzubetten.

Vorkenntnisse

Erstellung und Verbindung einer SQLite-Datenbank

Erstellung und Verbindung einer SQLite-Datenbank sind in drei Schritte unterteilt:

(1) Modul importieren

import sqlite3
#或者:
from sqlite3 import dbapi2       #导入sqlite3模块的dbapi2接口模块

(2) Datenbank mit der Verbindungsmethode erstellen

connection=sqlite3.connect(filename) 
#filename为数据库文件名,如果该文件存在则打开该数据库,如果不存在则创建一个新的数据库文件。 
#该方法返回一个数据库连接对象

(3) Verbindungsobjekt schließen

connection.close() 
#关闭连接,更新数据库文件

SQL-Anweisung erstellt Datentabelle

Eine Tabelle ist eine Sammlung relationaler Daten, die in einer Datenbank gespeichert sind. Eine Datenbank enthält normalerweise mehrere Tabellen, z. B. Schülertabellen, Klassentabellen, Lehrertabellen usw. Tabellen sind miteinander verbunden externe Schlüsselzuordnung.

In SQL lautet die Syntaxstruktur zum Erstellen einer Tabelle mithilfe der create-Anweisung wie folgt:

create table 表名(字段1,…,字段n)

Beispiel: Erstellen einer Mytb-Tabelle:

create table if not exists mytb( xm char, cj real, kc text )

Der Tabellenname lautet mytb; IF NOT EXISTS bedeutet, dass die mytb-Datentabelle vorhanden ist nicht in der Datenbank vorhanden, erstellen Sie die Tabelle. Wenn die Datentabelle bereits vorhanden ist, tun Sie nichts. xm char, cj real, kc text bedeutet, dass die Datentabelle 3 Felder hat, xm (Name) ist ein Zeichenfolgentyp, cj (note) ist ein Gleitkommazahlentyp, kc(course) ist eine Textzeichenfolge.

Die von SQLite3 unterstützten Datentypen sind:

(Binärdatenblock).

null(值=空)、integer(整数)、real(浮点数)、text(字符串文本)、blobexecute()-Methode

In Python können wir dieexecute-Methode verwenden, um eine SQL-Anweisung auszuführen

conn.execute('create table if not exists mytb( xm char, cj real, kc text )')

conn ist das Verbindungsobjekt. Der Parameter in derexecute()-Methode ist eine SQL-Anweisung, der Typ ist string

Datensatz einfügen

(1) Die SQL-Anweisung zum Einfügen von Datensätzen

Das Syntaxformat lautet wie folgt:

insert into 表名 [字段名] values [常量]

Zum Beispiel:

insert into Persons values ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')

(2) Verwenden Sieexecute(), um die SQL-Anweisung auszuführen

cur.exceute(sql语句)

(3) Senden Sie die Transaktion

conn.commit() #提交事务,将数据写入文件,保存到磁盘中。

Fragen Sie die SQL-Anweisung ab

Von „Tabelle“ Fragen Sie die „Zielspalte“ ab, die den bedingten Ausdruck in

SELECT 目标列 FROM 表 [WHERE 条件表达式]

erfüllt. Fragen Sie beispielsweise die Namen und das Alter von Schülern unter 20 Jahren ab:

select sname age from student where age<20

Zum Beispiel abfragen Alle Datensätze in der Tabelle:

select * from student

fetchall()

Mehrere Datensätze zurückgeben. Datensätze (Zeilen). Wenn keine Ergebnisse vorhanden sind, geben Sie eine leere () zurück.

sqlite_master-Tabelle

Jede SQLite-Datenbank verfügt über eine Tabelle namens sqlite_master automatisch erstellt.

sqlite_master ist eine spezielle Tabelle, die Metainformationen der Datenbank speichert, z. B. Tabelle, Index, Ansicht und Trigger. Zugehörige Informationen können über Select abgefragt werden.

select name,sql from sqlite_master where type=&#39;table&#39;

Diese Anweisung wird verwendet, um den Namen der Datentabelle in der Datenbank abzufragen und die SQL-Anweisung zum Erstellen der Tabelle

Datensätze aktualisieren

SQL-Anweisungen zum Aktualisieren von Datensätzen:

UPDATE 表名 SET 列名=表达式… [WHERE 条件]

Wenn die „Bedingung“ wahr ist, Ändern Sie den Wert einer Spalte. Für „Ausdruck“ wie:

update student set cj=90 where xh="001"

Sie können die Note des Schülers Nr. 001 in 90 ändern

Datensätze löschen

DROP TABLE- und DELETE-Anweisungen:

(1) Löschen Sie alle Datensätze in der Datentabelle

DELETE FROM <表名>

Löschen Sie beispielsweise die Schülertabelle

delete from student

(2) Löschen Sie Datensätze

DELETE FROM <表名> WHERE <条件>

Löschen Sie beispielsweise den Datensatz, dessen Mittelschulnummer Ebene 1: Erstellen und verbinden Sie die Datenbankdatei

Die Aufgabe dieser Ebene: Erstellen und verbinden Sie die Datenbank mytest.db im aktuellen Verzeichnis.

Code-Analyse

delete from student where xh=&#39;001&#39;

Level 2: Erstellen Sie eine Datentabelle

Aufgabe in diesem Level: Erstellen oder öffnen Sie ein Beispiel für eine Datentabelle.

Code-Analyse

DROP TABLE 表名

Ebene 3: Datensätze einfügen

Die Aufgabe dieser Ebene: Erstellen Sie eine SQLite3-Datenbankdatei mytest.db, erstellen Sie dann eine Datentabelle mytb.db und fügen Sie drei Zeilen mit Datensätzen in die Tabelle ein.

Code-Analyse

drop table student

Ebene 4: Datensätze abfragen

Die Aufgabe dieser Ebene: Entwerfen Sie ein Programm, um alle Datensätze in der Datentabelle mytb in der vorhandenen Datenbankdatei myfile.db abzufragen und die Datentabellenstruktur abzufragen.

Code-Analyse

def return_values():
#***********Begin**********#
    #(1)导入内置sqlite3模块
    import sqlite3
    #(2)创建conn连接对象(在当前路径下建立mytest.db数据库)
    conn = sqlite3.connect("mytest.db")
    #(3)关闭连接
    conn.close()
#***********End**********#

Level 5: Datensätze aktualisieren und löschen

Aufgabe dieser Ebene: Datensätze in der SQLite-Datenbank aktualisieren und löschen

Code-Analyse

#(1)导入sqlite3模块
import sqlite3
#(2)创建conn连接对象,建立mytest.db数据库
conn = sqlite3.connect("mytest.db")
#(3)定义sql语句,创建mytb数据表,表中有三个字段xm、cj、kc,其数据类型分别为char、real、text
sql_demo = "create table if not exists mytb( xm char , cj real , kc text )"
#(4)执行sql语句
conn.execute(sql_demo)
#(5)关闭连接
conn.close()

Level 6: Umfassender Betrieb der Buchdatenbank

Aufgabe dieser Ebene: Erstellen Sie die Datenbank mybook.db in SQLite; erstellen Sie die Datentabelle mytb in der Datenbank. Definieren Sie Felder wie isbn (text), Buchtitel (text), Preis (real) usw. in der Tabelle und fügen Sie Datensätze ein.

Code-Analyse

#(1)导入sqlite3模块
import sqlite3
#(2)创建数据库文件mytest.db
conn = sqlite3.connect("mytest.db")
#(3)定义一个游标对象
cur = conn.cursor()
#(4)定义创建数据表SQL语句
sql_create = "create table if not exists mytb(xm char,cj real,kc text)"
sql_insert_by = "insert into mytb values (&#39;宝玉&#39;,85,&#39;计算机&#39;)"
sql_insert_dy = "insert into mytb values (&#39;黛玉&#39;,90,&#39;计算机&#39;)"
sql_insert_bc = "insert into mytb values (&#39;宝钗&#39;,80,&#39;数据库&#39;)"
#(5)执行SQL语句,创建数据表mytb
conn.execute(sql_create)
#(6)依次插入3条记录,内容分别为:(&#39;宝玉&#39;,85,&#39;计算机&#39;)、(&#39;黛玉&#39;,92,&#39;计算机&#39;)、(&#39;宝钗&#39;,80,&#39;数据库&#39;)
cur.execute(sql_insert_by)
cur.execute(sql_insert_dy)
cur.execute(sql_insert_bc)
#(7)提交事务
conn.commit()
#(8)关闭连接
cur.close()
conn.close()

Das obige ist der detaillierte Inhalt vonSo verwenden Sie eine SQLite-Datenbank in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen