一、python操作MySQL的库(包)
1. Python Databas API
Python 操作数据库的标准接口为 Python Databas API Specification V2.0,其定义了在python中操作数据库的方法。Microsoft SQL Serve、MySQL、Oracle 数据库等等都可以以Python Databas API为数据库标准API接入。各种数据库软件提供有相应的库,需要安装库之后,才能通过Python Databas API使用对应的数据库。
2. pymysql
mysql数据库对接Python Databas API 的库。利用pymysql库,才能通过Python Databas API最终操作到mysql数据库。
安装方法: cmd命令“pip install pymysql”
二、python操作MySQL流程
1. 引入 API 模块;
2. 创建与数据库的连接对象Connection和游标对象Cursor;
3. 执行SQL语句,并进行异常检查和处理;
4.关闭数据库连接对象Connection和游标对象Cursor;
python操作MySQL流程图如下:
三、Python Databas API相关概念解释
1、Connection对象
数据库连接对象,是操作数据库的对象。包含了所有的操作方法,是操作数据库程序编写中的源头。常用函数如下:
Connect():创建连接对象
Connection.cursor(): 创建游标
Connection.commit():提交当前事务
Connection.rollback():回滚当前事务
Connection.close():关闭当前连接
2、Cursor对象
Cursor对象为游标对象,通过Connection.cursor()来创建。Cursor对象为操作数据库的一个强有力工具。常用函数如下:
Cursor.execute():执行数据库命令,并将执行结果缓存起来
Cursor.fetchone():从缓存中获取结果集的下一行
Cursor.fetchmany():获取结果集的下几行
Cursor.fetchall():获取结果集中剩下的所有行
Cursor.close():关闭游标
四、测试例程
1、 测试准备
在MySQL数据库中创建一个数据表,并插入一定的数据记录。如图在远程MySQL服务器(192.168.0.102)上,创建了一个数据库chapter03和数据表student。
2、执行测试用例
import pymysql #创建Connection对象 connect = pymysql.Connect( host='192.168.0.102', port=3306, user='root', passwd='12345678', db='chapter03' ) #创建Cursor对象 cursor = connect.cursor() #执行查询数据表命令 rows_count = cursor.execute("SELECT * FROM student") for i in range(rows_count): print(cursor.fetchone()) #执行数据表插入命令 try: cursor.execute("INSERT INTO student(id,name,grade) VALUES (4, 'zhangqian', 30)") connect.commit() except: connect.rollback() #再次执行查询数据表命令 rows_count = cursor.execute("SELECT * FROM student") for i in range(rows_count): print(cursor.fetchone()) #关闭对象cursor cursor.close() #关闭对象connect connect.close()
3、测试结果