Bagaimana untuk menggunakan pangkalan data SQLite dalam Python

王林
Lepaskan: 2023-05-11 08:25:06
ke hadapan
1870 orang telah melayarinya

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接口模块
Salin selepas log masuk

(2) Gunakan kaedah sambung untuk mencipta pangkalan data

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

(3) Tutup objek sambungan

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

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)
Salin selepas log masuk

Sebagai contoh, cipta jadual mytb:

create table if not exists mytb( xm char, cj real, kc text )
Salin selepas log masuk

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 )')
Salin selepas log masuk

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 [常量]
Salin selepas log masuk

Contohnya:

insert into Persons values ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
Salin selepas log masuk

(2) Gunakan execute() untuk melaksanakan pernyataan SQL

cur.exceute(sql语句)
Salin selepas log masuk

(3) Serahkan transaksi

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

Pertanyaan pernyataan SQL

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

SELECT 目标列 FROM 表 [WHERE 条件表达式]
Salin selepas log masuk

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

select sname age from student where age<20
Salin selepas log masuk

Contohnya, tanya semua rekod dalam jadual:

select * from student
Salin selepas log masuk

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;
Salin selepas log masuk

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 条件]
Salin selepas log masuk

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"
Salin selepas log masuk

Sebagai contoh, padam jadual pelajar

DELETE FROM <表名>
Salin selepas log masuk

(2) Padamkan rekod

delete from student
Salin selepas log masuk

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 <条件>
Salin selepas log masuk

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;
Salin selepas log masuk

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 表名
Salin selepas log masuk

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
Salin selepas log masuk

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**********#
Salin selepas log masuk

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()
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan