Python内置数据库介绍与示例
在Python中,我们可以使用内置的数据库模块来进行数据库操作,这些内置数据库提供了方便的接口来连接和操作数据库。在Python中,有几种常用的内置数据库,包括sqlite3、pickle、shelve等。
1. sqlite3
sqlite3是Python自带的一个轻量级数据库,使用简单方便,适合小型项目或测试使用。下面是一个简单的sqlite3数据库操作示例:
import sqlite3
# 连接数据库,如果数据库不存在则会自动创建一个
conn = sqlite3.connect('example.db')
# 创建一个游标对象
cursor = conn.cursor()
# 创建一个表
cursor.execute('''CREATE TABLE IF NOT EXISTS users
(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('Alice', 30))
# 提交更改
conn.commit()
# 查询数据
cursor.execute("SELECT * FROM users")
print(cursor.fetchall())
# 关闭连接
conn.close()
2. pickle
pickle是Python的一个对象序列化模块,可以将Python对象序列化为字节流,也可以将字节流反序列化为Python对象。下面是一个简单的pickle示例:
import pickle
# 将对象序列化为字节流
data = {'name': 'Bob', 'age': 25}
with open('data.pkl', 'wb') as f:
pickle.dump(data, f)
# 将字节流反序列化为对象
with open('data.pkl', 'rb') as f:
data_loaded = pickle.load(f)
print(data_loaded)
3. shelve
shelve是Python的一个简单的持久化模块,可以将Python对象存储在文件中,并通过key来检索对象。下面是一个简单的shelve示例:
import shelve
# 打开一个shelve文件
with shelve.open('data') as db:
db['name'] = 'Tom'
db['age'] = 28
# 读取shelve文件
with shelve.open('data') as db:
print(db['name'])
print(db['age'])
甘特图示例
gantt
title 内置数据库操作甘特图
dateFormat YYYY-MM-DD
section 数据库操作
创建表 :done, 2022-01-01, 1d
插入数据 :done, after 创建表, 2d
查询数据 :done, after 插入数据, 1d
饼状图示例
pie
title 内置数据库使用比例
"sqlite3" : 40
"pickle" : 30
"shelve" : 30
通过上述介绍,我们了解了Python中常用的内置数据库模块,包括sqlite3、pickle、shelve等。这些数据库模块提供了方便的接口来操作数据库、序列化对象以及持久化数据。根据项目需求和规模的不同,我们可以选择合适的内置数据库模块进行使用。希望本文能够帮助大家更好地了解Python内置数据库的使用。