‘’‘sqlite3模块不同于PyMySQL模块,PyMySQL是一个python与mysql的沟通管道,
需要你在本地安装配置好mysql才能使用,而SQLite是python自带的数据库,
不需要任何配置,使用sqlite3模块就可以驱动它。’’’
Python3操作SQLite数据库#
SQLite
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至2019年已经有19个年头,SQLite也迎来了一个版本 SQLite 3已经发布。
'''sqlite3模块不同于PyMySQL模块,PyMySQL是一个python与mysql的沟通管道,
需要你在本地安装配置好mysql才能使用,而SQLite是python自带的数据库,
不需要任何配置,使用sqlite3模块就可以驱动它。'''
import sqlite3
# 创建与数据库的连接
conn = sqlite3.connect('test.db')
#创建一个游标 cursor
cur = conn.cursor()
# 建表的sql语句
sql_text_1 = '''CREATE TABLE scores
(姓名 TEXT,
班级 TEXT,
性别 TEXT,
语文 NUMBER,
数学 NUMBER,
英语 NUMBER);'''
# 执行sql语句
cur.execute(sql_text_1)
# 插入单条数据
sql_text_2 = "INSERT INTO scores VALUES('A', '一班', '男', 96, 94, 98)"
cur.execute(sql_text_2)
#执行以下语句插入多条数据:
data = [('B', '一班', '女', 78, 87, 85),
('C', '一班', '男', 98, 84, 90),
]
cur.executemany('INSERT INTO scores VALUES (?,?,?,?,?,?)', data)
# 连接完数据库并不会自动提交,所以需要手动 commit 你的改动
#对数据库做改动后(比如建表、插数等),都需要手动提交改动,否则无法将数据保存到数据库。
# 提交改动的方法
conn.commit()
# 查询数学成绩大于90分的学生
sql_text_3 = "SELECT * FROM scores WHERE 数学>90"
cur.execute(sql_text_3)
# 获取查询结果 备注:获取查询结果一般可用.fetchone()方法(获取第一条),或者用.fetchall()方法(获取所有条)。
cur.fetchall()
#使用完数据库之后,需要关闭游标和连接:
# 关闭游标
cur.close()
# 关闭连接
conn.close()