SQLite是一种轻量级的数据库,无需服务器即可运行,非常适合在Python中进行数据存储和处理。以下是SQLite在Python编程中的实战技巧与高效应用。1. 连接SQLite数据库在Python...
SQLite是一种轻量级的数据库,无需服务器即可运行,非常适合在Python中进行数据存储和处理。以下是SQLite在Python编程中的实战技巧与高效应用。
在Python中使用SQLite,首先需要导入sqlite3模块。然后,使用connect()方法连接到SQLite数据库。
import sqlite3
# 连接到SQLite数据库
# 如果文件不存在,会自动在当前目录创建:
conn = sqlite3.connect('example.db')使用cursor()方法创建一个游标对象,然后使用execute()方法创建表。
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS stocks ( id INTEGER PRIMARY KEY AUTOINCREMENT, symbol TEXT NOT NULL, share_price REAL NOT NULL
)
''')同样使用游标对象的execute()方法插入数据。
cursor.execute("INSERT INTO stocks (symbol, share_price) VALUES ('AAPL', 135.75)")使用execute()方法执行查询,并使用fetchall()或fetchone()方法获取结果。
cursor.execute("SELECT * FROM stocks")
rows = cursor.fetchall()
for row in rows: print(row)更新数据同样使用execute()方法。
cursor.execute("UPDATE stocks SET share_price = 137.00 WHERE symbol = 'AAPL'")删除数据也使用execute()方法。
cursor.execute("DELETE FROM stocks WHERE symbol = 'AAPL'")SQLite支持事务处理,确保数据的一致性。
conn.execute('BEGIN') # 开启事务
conn.execute("INSERT INTO stocks (symbol, share_price) VALUES ('GOOGL', 2755.00)")
conn.execute("UPDATE stocks SET share_price = 2760.00 WHERE symbol = 'GOOGL'")
conn.commit() # 提交事务使用with语句可以自动处理游标关闭。
with conn: cursor = conn.cursor() cursor.execute("SELECT * FROM stocks") rows = cursor.fetchall() for row in rows: print(row)executemany()方法可以批量插入数据,提高效率。data = [('MSFT', 267.34), ('FB', 314.34), ('AMZN', 3294.44)]
cursor.executemany("INSERT INTO stocks (symbol, share_price) VALUES (?, ?)", data)cursor.execute("CREATE INDEX idx_symbol ON stocks (symbol)")prepare()方法可以预编译SQL语句,提高效率。stmt = conn.prepare("INSERT INTO stocks (symbol, share_price) VALUES (?, ?)")
stmt.execute('AAPL', 135.75)
stmt.execute('GOOGL', 2755.00)通过以上技巧,您可以在Python中高效地使用SQLite数据库。在实际开发中,根据项目需求灵活运用这些技巧,可以大大提高开发效率和程序性能。