文章目录
- 数据库编程接口
- 连接对象
- 获取连接对象 connect()
- 连接对象的方法
- 游标对象
- SQLite——SQLite3
- MySQL——pyMySQL
数据库编程接口
python 数据库API接口的各个部分:
- 模块接口
- 连接对象
- 游标对象
- 类型对象
- 构造器
- DB API的可选扩展
- 可选的错误处理机制
连接对象
主要提供获取数据库游标对象和提交/回滚事务,关闭数据库的方法。
获取连接对象 connect()
connect() 函数会返回一个连接对象,通过该连接对象可以执行 SQL 查询、插入等操作。
pymysql.connect(host='', user='', password='', database='', port=0, charset='', ...)
其中各参数的含义如下:
- host: MySQL 服务器的主机地址,默认为本地主机(localhost)。
- user: 登录 MySQL 的用户名。
- password: 登录 MySQL 的密码。
- database: 要连接的默认数据库。
- port: MySQL 服务器的端口号,默认为 3306。
- charset: 用于通信的字符集,默认为 ‘utf8’。
sqlite3.connect(database[, timeout, detect_types, isolation_level, check_same_thread, factory, cached_statements, uri])
其中各参数的含义如下:
- database: 要连接的 SQLite 数据库文件的路径。
- timeout: 等待数据库操作的超时时间(以秒为单位)。
- detect_types: 控制是否自动检测和转换数据库中的类型。
- isolation_level: 指定事务的隔离级别。
- check_same_thread: 控制在多线程环境中是否检查连接的线程安全性。
- factory: 用于创建连接对象的工厂函数。
- cached_statements: 控制是否缓存 SQL 语句。
- uri: 指定连接的 URI(Uniform Resource Identifier)。
连接对象的方法
- cursor():
这个方法用于创建一个游标对象,通过游标对象可以执行 SQL 查询、插入、更新等操作。
cursor = conn.cursor()
- commit():
该方法用于提交当前事务。在执行插入、更新、删除等修改数据库数据的操作后,需要调用 commit() 方法提交事务,将修改保存到数据库中。
conn.commit()
- rollback():
如果在事务过程中发生错误或者需要取消之前的修改,可以调用 rollback() 方法回滚事务,恢复到之前的状态。
conn.rollback()
- close():
该方法用于关闭数据库连接。在完成所有数据库操作后,应该调用 close() 方法关闭连接,释放资源。
conn.close()
事务主要用于处理数据量大、复杂度高的数据。使用事务可以维护数据库的完整性。
游标对象
代表数据库中的游标,用来只是抓取数据操作的上下文,提供执行SQL语句、调用存储过程、获取查询结果等方法。
获取游标对象 conn.cursor()
游标对象的属性:
- description:
这是一个只读属性,返回一个描述结果集中每一列的元组的序列。每个元组包含列的名称、类型、显示大小、精度以及其他信息。
cursor.execute("SELECT * FROM users")
print(cursor.description)
- rowcount:
这是一个只读属性,返回最近一次执行的 SQL 命令所影响的行数。对于 SELECT 查询,rowcount 返回结果行的数量;对于插入、更新和删除操作,返回受影响的行数。
cursor