深入聊聊Python中的sqlite3数据库

1. sqlite3概述

sqlite3是一个轻量级的,自包含的SQL数据库引擎。它不需要任何服务器或配置才能开始使用,并且可以管理小型到中型数据集。它非常适合存储单个文件、以离线方式运行的应用程序的数据。

它的一些主要特点包括:

完全支持SQL-92标准

全面实现了ACID属性(原子性、一致性、隔离性、持久性)

高度可靠性,且不会因频繁写入而降低性能

支持各种数据类型

2. Python与sqlite3

Python自带了sqlite3模块,因此无需安装即可开始使用sqlite3数据库。Python的Sqlite3库提供了完整的操作sqlite3数据库的API,包括连接到数据库、创建数据库表、添加数据、更新数据、删除数据等等。下面是一个简单的示例:

import sqlite3

# 连接到数据库,如果不存在则创建

conn = sqlite3.connect('example.db')

# 创建游标

c = conn.cursor()

# 创建表

c.execute('''CREATE TABLE stocks

(date text, trans text, symbol text, qty real, price real)''')

# 添加数据

c.execute("INSERT INTO stocks VALUES ('2006-01-05', 'BUY', 'RHAT', 100, 35.14)")

# 查询数据

c.execute("SELECT * FROM stocks")

print(c.fetchone())

# 提交更改并关闭连接

conn.commit()

conn.close()

3. 常用sqlite3操作

3.1 连接到数据库

我们需要使用Python库中的sqlite3.connect()函数连接到所需的数据库。如果该数据库不存在,则该函数将自动创建。下面是一个示例:

import sqlite3

# 连接到数据库

conn = sqlite3.connect('example.db')

3.2 创建表

可以使用游标执行CREATE TABLE语句来创建一个新表。下面是一个示例:

import sqlite3

# 连接到数据库

conn = sqlite3.connect('example.db')

# 创建游标

c = conn.cursor()

# 创建表

c.execute('''CREATE TABLE stocks

(date text, trans text, symbol text, qty real, price real)''')

3.3 插入数据

可以使用INSERT INTO语句向表中插入数据。下面是一个示例:

import sqlite3

# 连接到数据库

conn = sqlite3.connect('example.db')

# 创建游标

c = conn.cursor()

# 添加数据

c.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35.14)")

# 提交更改并关闭连接

conn.commit()

conn.close()

3.4 查询数据

可以使用SELECT语句从表中查询数据。下面是一个示例:

import sqlite3

# 连接到数据库

conn = sqlite3.connect('example.db')

# 创建游标

c = conn.cursor()

# 查询数据

c.execute("SELECT * FROM stocks")

print(c.fetchone())

# 提交更改并关闭连接

conn.commit()

conn.close()

3.5 更新数据

可以使用UPDATE语句来更新表中的数据。下面是一个示例:

import sqlite3

# 连接到数据库

conn = sqlite3.connect('example.db')

# 创建游标

c = conn.cursor()

# 更新数据

c.execute("UPDATE stocks SET qty = 200 WHERE symbol = 'RHAT'")

# 提交更改并关闭连接

conn.commit()

conn.close()

3.6 删除数据

可以使用DELETE语句从表中删除数据。下面是一个示例:

import sqlite3

# 连接到数据库

conn = sqlite3.connect('example.db')

# 创建游标

c = conn.cursor()

# 删除数据

c.execute("DELETE FROM stocks WHERE symbol = 'RHAT'")

# 提交更改并关闭连接

conn.commit()

conn.close()

4. 结语

本文介绍了sqlite3数据库的基础知识以及Python中操作sqlite3数据库的方法。sqlite3是一个十分强大的数据库引擎,应用广泛,不仅可以用作底层存储介质,也可以用作轻量级的开发环境,便于管理小型到中型数据集。在Python中使用sqlite3也十分方便,可以快速地进行数据库操作。

后端开发标签