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内置数据库的使用。