打开数据库
使用SQLite3创建数据的连接,当数据库文件存在则连接对象直接打开数据库文件,不存在则自动创建数据库文件。连接对象可以是硬盘上面的数据库文件,也可以是建立在内存(memory)中的,在内存中的数据库执行完任何操作后,都不需要提交事务的(commit)
SQLite3的connect方法返回con对象,即数据库连接对象,提供如下方法:
| 方法 | 描述 |
|---|---|
| .cursor() | 创建一个游标对象 |
| .commit() | 处理事务提交 |
| .rollback() | 处理事务回滚 |
| .close() | 关闭一个数据库连接 |
创建数据库
在硬盘上建立数据库
|
|
路径中单斜杠和双斜杠不做区分,且数据库的名称不区分大小写,即E:\Test.db 与 E:\\Test.db 与 E:\TEST.db 均相同。 但需要注意的是: E:\test.db 会报错,因为编译器会识别到 \t 为制表符,因此认为路径不对。
|
|
不加全路径则在项目文件下创建数据库
在内存上创建数据库
|
|
两者差别
追求极致速度和临时性就选内存数据库;需要数据持久保存、大容量或共享访问则选文件数据库。
混合模式可以兼顾两者优点:你可以将整个文件数据库附加 (ATTACH) 到内存数据库中进行高速操作,处理完成后再将结果写回磁盘文件。这适合“热数据”需要内存加速,而“冷数据”需要持久化的复杂场景
创建游标
游标对象是数据库管理系统提供的一种数据访问机制,它就像一个指向查询结果集的指针,允许你逐行处理数据,而不是一次性操作整个结果集
| 方法 | 描述 |
|---|---|
| .execute() | 用来执行SQL语句 |
| .executemany() | 批量执行同一条SQL语句 |
| .close() | 用来关闭游标 |
| .fetchone() | 从查询结果中获取下一行数据 |
| .fetchmany() | 从结果中取出多条记录 |
| .fetchall() | 取出所有剩余记录 |
| .scroll() | 用于游标滚动 |
执行SQL语句
创建表
|
|
新增数据
方法一
|
|
方法二
|
|
方法三
|
|
更新数据
方法一
|
|
方法二
|
|
删除数据
方法一
|
|
方法二
|
|
返回的n为被删除的对象
查询数据
|
|
查询结果存储在游标对象cur中,可以使用对象的方法进行访问,例如遍历或使用.fetchone()等方法
删除表
|
|
事务回滚或提交
提交
|
|
回滚
|
|
关闭数据库和游标
|
|
一定要先关闭游标,再关闭数据库连接,否则会报错
案例
|
|
|
|