欢迎访问宙启技术站
智能推送

Python数据库函数:使用sqlite3库实现简单的关系型数据库操作

发布时间:2023-06-08 20:11:08

在Python中,关系型数据库是非常常见和重要的一种数据存储方式。使用sqlite3库可以实现Python对关系型数据库的操作。sqlite3库是Python的标准库之一,可以实现SQL语句的执行以及表的创建,记录的插入、删除、修改和查询等。

一、创建数据库和表格

使用sqlite3库创建数据库和表格非常简单,只要调用sqlite3库并执行SQL语句即可。

import sqlite3

#连接数据库
conn = sqlite3.connect('mytest.db')

#创建表
conn.execute('''CREATE TABLE student 
                (ID INT PRIMARY KEY    NOT NULL, 
                NAME           TEXT   NOT NULL, 
                AGE            INT    NOT NULL, 
                ADDRESS        CHAR(50),
                SEX            CHAR(10));''')

print("Table created successfully")

以上程序建立了一个名为mytest.db的数据库,其中包含一个名为student的表。表的字段分别为IDNAMEAGEADDRESSSEX

二、插入数据

插入数据使用SQL的INSERT INTO语句完成。可以通过execute()方法执行SQL文件,并给定具体的数值,即可完成记录的添加。

#插入数据
conn.execute("INSERT INTO student (ID,NAME,AGE,ADDRESS,SEX) \
                VALUES (1, 'Lucy', 20, 'Shanghai', 'Female')")

conn.execute("INSERT INTO student (ID,NAME,AGE,ADDRESS,SEX) \
                VALUES (2, 'Tom', 21, 'Beijing', 'Male')")

conn.execute("INSERT INTO student (ID,NAME,AGE,ADDRESS,SEX) \
                VALUES (3, 'Mary', 20, 'New York', 'Male')")

conn.execute("INSERT INTO student (ID,NAME,AGE,ADDRESS,SEX) \
                VALUES (4, 'Peter', 21, 'London', 'Male')")

conn.commit()
print("Values insert successfully")

以上程序插入了4条记录,分别是Lucy、Tom、Mary、Peter,他们的年龄、地址、性别等都有所不同。

三、查询数据

查询数据使用SQL的SELECT语句实现。可以使用fetchall()方法读取所有查询结果,或者使用fetchone()方法读取单个查询结果。

#查询数据
cursor = conn.execute("SELECT ID, NAME, AGE, ADDRESS, SEX from student")
for row in cursor:
   print("ID = ", row[0])
   print("NAME = ", row[1])
   print("AGE = ", row[2])
   print("ADDRESS = ", row[3])
   print("SEX = ", row[4], "
")

以上程序查询了student表中所有记录,并打印到控制台上。

四、修改和删除数据

修改和删除数据使用SQL的UPDATEDELETE语句实现。使用execute()方法给定具体参数,即可完成记录的修改和删除。

#修改数据
conn.execute("UPDATE student SET ADDRESS = 'New York' where ID = 3")
conn.commit()
print("total number of rows updated: ", conn.total_changes)

#删除数据
conn.execute("DELETE from student where ID = 4;")
conn.commit()
print("total number of rows deleted: ", conn.total_changes)

以上程序将表中ID为3的记录的地址从“New York”修改为“Tokey”,并撤销表中ID为4的一行。

五、关闭数据库

关闭数据库非常重要,可以使用关闭()方法完成数据库的关闭。

#关闭数据库
conn.close()
print("Database closed")

总结来看,使用sqlite3库可以实现Python对关系型数据库的操作。可以通过简单的SQL语句实现表的创建,记录的插入、删除、修改和查询等操作。sqlite3库作为Python的标准库之一,在Python的开发中有着广泛的应用。