python中的数据库操作
最近做毕设,需要添加个数据库,记录一下。
一、数据库编程接口
重点介绍数据库API接口中的连接对象和游标对象
1. 连接对象
数据库连接对象主要提供获取数据库游标对象和提交/回滚事务的方法,以及关闭数据库连接。
使用connect函数获取对象,该函数有多个参数:
- host 主机名
- database/db 数据库名称
- user 用户名
- password 用户密码
- charset 编码方式
使用PyMySQL模块连接MySQL数据库。
conn = pymysql.connect(host='localhost',user='user',password='passwd',db='test',charset='utf-8')
connect函数返回连接对象,该对象表示当前与数据库的会话。
连接对象支持的方法如下:
- close() 关闭数据库连接
- commit() 提交事务
- rollback() 回滚事务
- cursor() 获取游标对象,操作数据库,如执行DML操作、调用存储过程
对于这里的commit方法,commit是用于提交事务,事务主要是处理数据量大、复杂度高的数据。如果操作的是一系列动作,比如张三给李四转账:那么张三的账户余额减少,李四的账户余额增加,那么使用事务可以维护数据库的完整性,也就是保证两个操作要么全部执行,要么都不执行。
对于游标对象,代表数据库中的游标,用于指示抓取数据操作的上下文,主要是提供执行SQL语句,调用存储过程,获取查询结果等方法。
使用连接对象的cursor方法可以获取游标对象,游标对象的属性如下:
-
description属性:表示数据库列类型以及值得描述信息
-
rowcount属性:返回结果得行数统计信息,如SELECT、UPDATE、CALLPROC
-
callproc(procname[,parameters]) 调用存储过程,需要数据库支持
-
close() 关闭当前游标
-
execute(operation[,parameters]) 执行数据库操作,SQL语句或者数据库命令
二、使用内置的SQLite
SQLite是一种嵌入式数据库,该数据库本身就是一个文件。SQLite将整个数据库(包括表、索引、数据本身)作为一个单独的可跨平台使用文件存储在主机中,由于SQLite本身是使用C语言开发的,而且体积小,经常被集成到各种应用程序中,Python中内置了SQLite,所以在python中使用SQLite数