Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk menggunakan pangkalan data SQLite dalam Python

Bagaimana untuk menggunakan pangkalan data SQLite dalam Python

王林
王林ke hadapan
2023-05-11 08:25:061876semak imbas

SQL (Bahasa Pertanyaan Berstruktur) ialah bahasa pertanyaan pangkalan data umum. SQL mempunyai definisi data, operasi data dan fungsi kawalan data dan boleh menyelesaikan semua kerja pangkalan data. Apabila menggunakan bahasa SQL, anda hanya perlu memberitahu komputer "apa yang perlu dilakukan" tanpa memberitahunya "bagaimana untuk melakukannya".

Terdapat dua cara untuk menggunakan bahasa SQL Satu ialah menggunakannya secara interaktif dalam mod arahan secara langsung;

Pengetahuan awal

Penciptaan dan sambungan pangkalan data sqlite

Penciptaan dan sambungan pangkalan data sqlite dibahagikan kepada tiga langkah:

(1) Modul Import

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

(2) Gunakan kaedah sambung untuk mencipta pangkalan data

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

(3) Tutup objek sambungan

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

penyataan SQL untuk mencipta jadual data

Jadual menyimpan perhubungan dalam pangkalan data Koleksi data Pangkalan data biasanya mengandungi berbilang jadual, seperti jadual pelajar, jadual kelas, jadual guru, dll. Jadual berkaitan melalui kunci asing.

Dalam SQL, struktur sintaks mencipta jadual menggunakan kenyataan cipta adalah seperti berikut:

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

Sebagai contoh, cipta jadual mytb:

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

Nama jadual ialah mytb; JIKA TIDAK WUJUD bermakna jika pangkalan data Jika jadual data mytb tidak wujud, buat jadual jika jadual data sudah wujud, jangan lakukan apa-apa

xm char, cj real, kc text bermakna data itu jadual mempunyai 3 medan, xm ( nama) ialah jenis rentetan, cj(gred) ialah jenis apungan, dan kc(kursus) ialah rentetan teks.

Jenis data yang disokong oleh SQLite3 ialah:

null (nilai = null), integer (integer), real (nombor titik terapung), text (rentetan literal) ), blob (blok data binari).

kaedah execute()

Dalam Python kita boleh menggunakan kaedah execute untuk melaksanakan pernyataan SQL

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

conn ialah objek sambungan Parameter dalam kaedah execute(). ialah pernyataan SQL. Jenisnya ialah rentetan

Sisipkan rekod

(1) Penyataan SQL untuk memasukkan rekod

mempunyai format sintaks berikut:

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

Contohnya:

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

(2) Gunakan execute() untuk melaksanakan pernyataan SQL

cur.exceute(sql语句)

(3) Serahkan transaksi

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

Pertanyaan pernyataan SQL

Tanya ungkapan yang memenuhi syarat daripada "jadual" "lajur sasaran"

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

, contohnya, tanya nama dan umur pelajar di bawah 20 tahun:

select sname age from student where age<20

Contohnya, tanya semua rekod dalam jadual:

select * from student

fetchall( )

Kembalikan berbilang rekod (baris), jika tiada hasil, kembalikan kosong ()

sqlite_master table

Setiap pangkalan data SQLite mempunyai jadual yang dipanggil sqlite_master, Jadual dibuat secara automatik.

sqlite_master ialah jadual khas yang menyimpan maklumat meta pangkalan data, seperti jadual, indeks, paparan dan maklumat yang berkaitan boleh ditanya melalui pilihan.

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

Pernyataan ini digunakan untuk menanyakan nama jadual data dalam pangkalan data, dan pernyataan SQL untuk mencipta jadual

Kemas kini rekod

Pernyataan SQL untuk mengemas kini rekod :

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

Apabila "syarat" adalah benar, tukar nilai lajur kepada "ungkapan". >

Padam rekod

JATUHKAN JADUAL dan PADAM kenyataan:

(1) Padam semua rekod dalam jadual data

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

Sebagai contoh, padam jadual pelajar

DELETE FROM <表名>

(2) Padamkan rekod

delete from student

Sebagai contoh, padam rekod yang nombor sekolah menengahnya >Contoh latihan

Tahap 1: Buat dan sambungkan fail pangkalan data

Tugas tahap ini: Buat dan sambungkan pangkalan data mytest.db dalam direktori semasa.

Analisis Kod

DELETE FROM <表名> WHERE <条件>

Tahap 2: Buat jadual data

Tugas dalam tahap ini: Buat atau buka contoh jadual data.

Analisis kod

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

Tahap 3: Masukkan rekod

Tugas dalam tahap ini: Buat fail pangkalan data sqlite3 mytest.db, dan kemudian buat jadual data mytb.db, pergi ke Sisipkan tiga baris rekod ke dalam jadual.

Analisis Kod

DROP TABLE 表名

Tahap 4: Rekod Pertanyaan

Tugas tahap ini: Mereka bentuk atur cara untuk menanyakan semua rekod dalam jadual data mytb dalam fail pangkalan data yang sedia ada myfile. db , dan tanya struktur jadual data.

Analisis Kod

drop table student

Tahap 5: Kemas kini dan padam rekod

Tugas tahap ini: Kemas kini dan padam rekod dalam pangkalan data sqlite

Analisis Kod

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

Tahap 6: Operasi komprehensif pangkalan data buku

Tugas dalam tahap ini: Cipta pangkalan data mybook.db dalam SQLite buat jadual data mytb dalam pangkalan data: isbn (text ), tajuk buku (teks), harga (sebenar) dan medan lain, dan sisipan rekod.

Analisis Kod

#(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()

Atas ialah kandungan terperinci Bagaimana untuk menggunakan pangkalan data SQLite dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam