首页 > Python操作数据库 阅读数:31

Python操作MySQL数据库(超级详细)

MySQL 数据库已经安装完成,下面我们通过学习 MySQL 操作来了解如何用 Python 操作关系型数据库。

1. 创建数据库

1) 双击桌面上的 Navicat 图标,打开 Navicat for MySQL 窗口,如图 1 所示。

Navicat for MySQL窗口
图 1:Navicat for MySQL窗口

2) 单击“连接”按钮,弹出“新建连接”对话框,如图 2 所示。

“新建连接”对话框
图 2:“新建连接”对话框

3) 连接名输入“student”,用户名输入“root”,单击“确定”按钮。然后右击连接 Student,在弹出的快捷菜单中选择“新建数据库”命令,如图 3 所示。

新建数据库
图 3:新建数据库

4) 填写数据库信息,如图 4 所示。

填写数据库信息
图 4:填写数据库信息

2. 安装PyMySQL模块

依据 Python 数据库编程接口和 API 规范,在操作相应数据库之前需要先安装对应的数据库模块。打开 PyCharm 软件,依次单击 File→Setting→Project→Project Interpreter,双击右侧出现的 pip,弹出安装包选择界面,输入“pymys”,选择 PyMySQL,如图 5 所示。

选择安装包
图 5:选择安装包

然后单击 Install Package 按钮。

3. 连接数据库

在操作数据库之前,首先需要建立数据库连接对象。在前面已经创建了 student 数据库,下面通过 connect( ) 方法连接该数据库。

代码如下:
import pymysql
#参数1:主机名或工P地址; 参数2:用户名; 参数3:密码; 参数4: 数据库名称
db = pymysql.connect("localhost", "root", "root", "student")
#创建一个游标对象 cursor
cursor = db.cutsor()
#使用execute()方法查询数据库版本
cursor.execute("SELECT VERSION()")
#使用fetchone()方法获取单条数据
data = cursor.fetchone()
print("Database version:%s"  % data)
#关闭数据库连接
db.close()

程序执行结果如图 6 所示:
连接数据库
图 6:连接数据库

在上面的代码中,首先使用 connect( ) 方法连接数据库,然后使用 cursor( ) 方法创建游标对象,接着使用 execute( ) 方法查询数据库版本,再使用 fetchone( ) 方法获取单条数据,最后使用 close( ) 方法关闭数据库连接。

4. 创建数据表

数据库连接成功后,就可以对数据库进行操作了。针对本数据库,创建了 Mstudent 数据表,内容如下:

表 1:Mstudent 数据表
字段 类型 说明
id int 自增主键
name Varchar(50) 学生姓名
banji Varchar(50) 班级
age int 年龄
xuehao Varchar(50) 学号
 

5. 操作数据表

针对 MySQL 数据库操作,主要学习对 Mstudent 数据表的增、删、改、查操作,这里使用 execute( ) 方法进行操作。

代码如下:
import pymysql
#打开数据库连接
db = pymysql.connect("localhost", "root", "root", "student")
#创建一个游标对象 cursor
cursor = db.cutsor()
#执行SQL语句,插入多条数据
    cursor.execute('insert into Mstudent(name, banji, age, xuehao) values("zhangsan", "J1802", "18", "2018030438")')
    cursor.execute('insert into Mstudent(name, banji, age, xuehao) values("zhangsi", "J1802", "18", "2018030439")')
    cursor.execute('insert into Mstudent(name, banji, age, xuehao) values("zhangwu", "J1802", "18", "2018030436")')
#执行SQL语句,删除一条数据
cursor.execute('delete from Mstudent where name="zhangsi" ')
#执行SQL语句,修改一条数据
cursor.execute('update Mstudent set age=19 where name="zhangwu" ')
#执行SQL语句,查询数据
cursor.execute('select * from Mstudent')
result1=cursor.fetchone()
print(resultl)
#关闭数据库连接
db.close()
从上述代码中可以看到,增、删、改、查操作都可以使用 execute( ) 方法去执行,执行结果如图 7 所示。

操作数据表
 图 7:操作数据表

相关文章