sqlite3使用记录
SQLite是一个开源的嵌入式数据库引擎,其使用非常方便。以下是一些常见的SQLite使用记录。
- 创建数据库
在Python中,我们可以使用sqlite3库来创建一个SQLite数据库。
import sqlite3
# 连接到数据库
# 如果数据库不存在,将会创建一个新的数据库
conn = sqlite3.connect('test.db')
# 创建一个Cursor:
cursor = conn.cursor()
# 执行一条SQL语句,创建user表:
cursor.execute('CREATE TABLE user (id varchar(20) PRIMARY KEY, name varchar(20))')
# 关闭Cursor:
cursor.close()
# 提交事务:
conn.commit()
# 关闭Connection:
conn.close()
- 插入数据
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
# 插入一条记录:
cursor.execute("INSERT INTO user (id, name) VALUES ('1', 'Michael')")
# 提交事务:
conn.commit()
cursor.close()
conn.close()
- 查询数据
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
# 查询id为'1'的记录:
cursor.execute("SELECT * FROM user WHERE id = '1'")
values = cursor.fetchall()
print(values)
cursor.close()
conn.close()
- 更新数据
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
# 更新id为'1'的name:
cursor.execute("UPDATE user SET name = ? WHERE id = ?", ('John', '1'))
# 提交事务:
conn.commit()
cursor.close()
conn.close()
- 删除数据
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
# 删除id为'1'的记录:
cursor.execute("DELETE FROM user WHERE id = '1'")
# 提交事务:
conn.commit()
cursor.close()
conn.close()
- 使用参数
在上述的插入、更新和删除操作中,我们使用了参数化的查询,这是一种避免SQL注入攻击的好方法。
cursor.execute("UPDATE user SET name = ? WHERE id = ?", ('John', '1'))
- 使用事务
如果你需要在一个操作中完成多个SQL语句,你应该使用事务。
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
# 开始事务:
cursor.execute('BEGIN TRANSACTION')
try:
cursor.execute("UPDATE user SET name = 'John' WHERE id = '1'")
cursor.execute("INSERT INTO user (id, name) VALUES ('2', 'Sara')")
# 提交事务:
cursor.execute('COMMIT')
except sqlite3.Error as e:
# 发生错误时回滚事务:
cursor.execute('ROLLBACK')
print(e)
cursor.close()
conn.close()
以上就是SQLite数据库的基本使用方法。在实际应用中,你可能需要根据自己的需求进行更复杂的操作,如创建索引、视图、触发器等。
评论已关闭