Sqlite3是一个轻量级的数据库,本节内容我们介绍一下如何在python环境中使用Sqlite数据库,完成数据库表的简单增、删、查、改操作。开始本节内容之前,我们需要先安装好python环境,我们使用的是python3的环境。
①创建一个my_sqlite3_base.py文件,引入sqlite3数据库,创建初始化sqlite数据库连接信息方法及关闭sqlite数据库连接方法
# sqlite3数据库 import sqlite3 class MySqlite(object): """ 初始化数据库连接 """ def __init__(self): # 连接数据库 db_file = 'app.sqlite' self.conn = sqlite3.connect(db_file) """ 关闭数据库连接 """ def close(self): self.conn.close()
②使用sqlite创建一个user用户表,用于后续sqlite数据库的操作
- 创建用户表
if __name__ == '__main__': conn = MySqlite().conn # 创建用户表USER SQL_CREATE_TABLE = '''CREATE TABLE IF NOT EXISTS USER (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL);''' conn.execute(SQL_CREATE_TABLE) # 关闭数据库连接 conn.close()
③新增一条用户数据
- 实现代码
if __name__ == '__main__': conn = MySqlite().conn # 新增一条用户数据 SQL_INSERT_ONE_DATA = "INSERT INTO USER(id,name,age) VALUES(3,'张三',23);" try: conn.execute(SQL_INSERT_ONE_DATA) # 必须要提交,才能正确执行 conn.commit() except Exception as e: conn.rollback() print('插入一条记录失败,回滚~') # 关闭数据库连接 conn.close()
- 执行结果
④新增多条用户数据
- 实现代码
if __name__ == '__main__': conn = MySqlite().conn # 新增多条数据 SQL_INSERT_MANY_DATA = 'INSERT INTO USER (id,name,age) VALUES(?,?,?);' data = [(4, '赵六', 11), (5, '李四', 12), (6, '王五', 13)] try: conn.executemany(SQL_INSERT_MANY_DATA, data) conn.commit() except Exception as e: conn.rollback() print('插入多条记录失败,回滚~') # 关闭数据库连接 conn.close()
- 执行结果
⑤根据用户ID查询用户数据
- 实现代码
if __name__ == '__main__': conn = MySqlite().conn # 根据ID查询用户数据 USER_ID = 3 SQL_QUERY_ONE_DATA = "SELECT * FROM USER WHERE id={}" cursor = conn.cursor() cursor.execute(SQL_QUERY_ONE_DATA.format(USER_ID)) result = cursor.fetchall() print(result) # 关闭数据库连接 conn.close()
- 执行结果
⑥查询用户全部数据
- 实现代码
if __name__ == '__main__': conn = MySqlite().conn # 查询用户全部数据 SQL_QUERY_ONE_DATA = "SELECT * FROM USER " cursor = conn.cursor() cursor.execute(SQL_QUERY_ONE_DATA) result = cursor.fetchall() print(result) # 关闭数据库连接 conn.close()
- 执行结果
⑦更新用户信息数据
- 实现代码
if __name__ == '__main__': conn = MySqlite().conn # 更新用户信息 SQL_UPDATE_ONE_DATA = "UPDATE USER SET NAME = '{}',AGE={} where id = {}" sql_update = SQL_UPDATE_ONE_DATA.format("TOM", 28, 3) print(sql_update) conn.execute(sql_update) conn.commit() # 关闭数据库连接 conn.close()
- 执行结果
⑧根据ID删除用户信息数据
- 实现代码
if __name__ == '__main__': conn = MySqlite().conn # 删除用户信息数据 USER_ID = 3 SQL_DEL_ONE_DATA = "DELETE FROM USER where id ={}" sql_del = SQL_DEL_ONE_DATA.format(USER_ID) conn.execute(sql_del) conn.commit() # 关闭数据库连接 conn.close()
- 执行结果,该用户数据已不存在
关于Sqlite3数据库表的增、删、查、改操作案例到这里就结束了,我们下期见。。。。。。