初识SQLite:轻量级数据库的魅力SQLite是一个轻量级的、自描述型的、无服务器的数据库引擎,它以其轻便、高效、易用而著称。它不需要复杂的安装和配置过程,也不需要单独的服务器进程或系统配置,只需一...
SQLite是一个轻量级的、自描述型的、无服务器的数据库引擎,它以其轻便、高效、易用而著称。它不需要复杂的安装和配置过程,也不需要单独的服务器进程或系统配置,只需一个文件就可以存储整个数据库。这使得SQLite非常适合移动应用、桌面应用程序以及一些简单的Web应用。
从Python 2.5版本开始,SQLite就已经被集成到了标准库sqlite3模块中,因此大多数情况下你不需要额外安装任何东西。你可以通过以下代码来检查是否已经包含该模块:
import sqlite3使用sqlite3.connect()函数可以创建一个数据库文件。如果数据库文件不存在,它会自动创建。如果文件已存在,则打开该文件。
conn = sqlite3.connect('example.db')在连接上创建新表,你可以使用cursor.execute()方法。
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS students ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, age INTEGER
)
""")cursor.execute("""
INSERT INTO students (name, age) VALUES ('Alice', 25)
""")
conn.commit()cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()
for row in rows: print(row)cursor.execute("""
UPDATE students SET age = 26 WHERE name = 'Alice'
""")
conn.commit()cursor.execute("""
DELETE FROM students WHERE name = 'Alice'
""")
conn.commit()SQLite支持事务处理,这意味着你可以将多个SQL语句组合成一个事务,要么全部执行,要么全部不执行。
conn.execute('BEGIN')
try: conn.execute('INSERT INTO students (name, age) VALUES (?, ?)', ('Bob', 30)) conn.execute('UPDATE students SET age = ? WHERE name = ?', (25, 'Alice')) conn.commit()
except sqlite3.Error: conn.rollback()为了提高查询效率,可以在数据库表上创建索引。
cursor.execute('CREATE INDEX idx_age ON students (age)')SQLite支持数据备份和迁移。你可以使用backup()方法来备份数据库。
import shutil
def backup_db(src, dst): shutil.copyfile(src, dst)
backup_db('example.db', 'example_backup.db')通过掌握SQLite和Python编程,你可以轻松地进行高效的数据管理。以上是SQLite和Python数据管理的一些基本技巧,希望对你有所帮助。