使用Python怎么操作MySQL数据库
Python是一种高级编程语言,具有代码简洁、易读性强、拓展性强等优点,因此在操作MySQL数据库时,使用Python也会变得十分便捷。本文将介绍如何使用Python操作MySQL数据库,并对操作流程进行详细解释。
一、安装Python MySQL连接库
在Python中操作MySQL数据库需要使用第三方库,MySQLdb和PyMySQL是Python中两种常用的MySQL连接库,本文将对这两种库进行简单介绍。
1.MySQLdb库安装
MySQLdb库需要在安装之前先安装Python-Dev和libmysqlclient-dev两个包:
(1)运行以下命令安装Python-Dev和libmysqlclient-dev两个包:
$ sudo apt-get install python-dev $ sudo apt-get install libmysqlclient-dev
(2)运行以下命令安装MySQLdb库:
$ sudo apt-get install python-mysqldb
这样就完成了MySQLdb库的安装。
2.PyMySQL库安装
PyMySQL是Python3中使用的MySQL连接库,如需使用PyMySQL库,需要先安装。
(1)运行以下命令安装PyMySQL库:
$ sudo pip install pymysql
这样就完成了PyMySQL库的安装。
二、在Python中连接MySQL
在Python中,连接MySQL之前需要确定数据库的主机地址、用户名和密码,以便可以访问数据库。连接数据库的方法分为三步:
1.导入MySQLdb或PyMySQL库
如导入了MySQLdb库,则需使用命令:
import MySQLdb
如导入了PyMySQL库,则需使用命令:
import pymysql
2.连接MySQL
在连接MySQL之前,需要配置主机地址、用户名和密码等连接信息,并确认端口号。
(1)使用MySQLdb时,连接MySQL的方法如下:
conn = MySQLdb.connect(host="localhost", port=3306, user="root", passwd="password", db="mysql")
(2)使用PyMySQL时,连接MySQL的方法如下:
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='password', db='mysql', charset='utf8')
3.关闭连接
无论是使用MySQLdb还是PyMySQL,都需要关闭连接。关闭连接的方法如下:
conn.close()
三、在Python中操作MySQL
连接MySQL成功之后,就可以在Python中实现对MySQL数据库的增、删、改、查操作。具体操作如下:
1.查询数据
使用Python向MySQL进行查询之前,首先需要利用游标(cursor)将查询结果检索出来。
(1)使用MySQLdb时,查询的操作如下:
# 实例化游标
cursor = conn.cursor()
# 执行查询数据的操作
cursor.execute("select * from student")
# 检索结果
res = cursor.fetchall()
# 输出结果
for row in res:
print(row)
# 关闭游标
cursor.close()
(2)使用PyMySQL时,查询的操作如下:
# 实例化游标
cursor = conn.cursor()
# 执行查询数据的操作
cursor.execute("select * from student")
# 检索结果
res = cursor.fetchall()
# 输出结果
for row in res:
print(row)
# 关闭游标
cursor.close()
2.增加数据
使用Python向MySQL添加数据之前,需要先开启事务,向MySQL写入数据之后,再提交事务。
(1)使用MySQLdb时,增加数据的操作如下:
# 实例化游标
cursor = conn.cursor()
try:
# 开启事务
conn.begin()
# 插入数据
cursor.execute("insert into student values(3,'Tom',25,'男')")
# 提交事务
conn.commit()
print('数据保存成功!')
except Exception as e:
print('保存数据出现异常:', e)
# 回滚事务
conn.rollback()
# 关闭游标
cursor.close()
(2)使用PyMySQL时,增加数据的操作如下:
# 实例化游标
cursor = conn.cursor()
try:
# 开启事务
conn.begin()
# 插入数据
cursor.execute("insert into student values(3,'Tom',25,'男')")
# 提交事务
conn.commit()
print('数据保存成功!')
except Exception as e:
print('保存数据出现异常:', e)
# 回滚事务
conn.rollback()
# 关闭游标
cursor.close()
3.删除数据
使用Python向MySQL删除数据之前,需要先开启事务,删除MySQL中的数据之后,再提交事务。
(1)使用MySQLdb时,删除数据的操作如下:
# 实例化游标
cursor = conn.cursor()
try:
# 开启事务
conn.begin()
# 删除数据
cursor.execute("delete from student where id = 3")
# 提交事务
conn.commit()
print('数据删除成功!')
except Exception as e:
print('删除数据出现异常:', e)
# 回滚事务
conn.rollback()
# 关闭游标
cursor.close()
(2)使用PyMySQL时,删除数据的操作如下:
# 实例化游标
cursor = conn.cursor()
try:
# 开启事务
conn.begin()
# 删除数据
cursor.execute("delete from student where id = 3")
# 提交事务
conn.commit()
print('数据删除成功!')
except Exception as e:
print('删除数据出现异常:', e)
# 回滚事务
conn.rollback()
# 关闭游标
cursor.close()
4.修改数据
使用Python向MySQL修改数据之前,需要先开启事务,通过UPDATE命令修改MySQL中的数据,再提交事务。
(1)使用MySQLdb时,修改数据的操作如下:
# 实例化游标
cursor = conn.cursor()
try:
# 开启事务
conn.begin()
# 修改数据
cursor.execute("update student set name='Jerry' where id = 2")
# 提交事务
conn.commit()
print('数据修改成功!')
except Exception as e:
print('修改数据出现异常:', e)
# 回滚事务
conn.rollback()
# 关闭游标
cursor.close()
(2)使用PyMySQL时,修改数据的操作如下:
# 实例化游标
cursor = conn.cursor()
try:
# 开启事务
conn.begin()
# 修改数据
cursor.execute("update student set name='Jerry' where id = 2")
# 提交事务
conn.commit()
print('数据修改成功!')
except Exception as e:
print('修改数据出现异常:', e)
# 回滚事务
conn.rollback()
# 关闭游标
cursor.close()
四、总结
通过本文的介绍,我们了解了如何使用Python通过MySQL连接库连接MySQL数据库,以及如何通过Python实现增加、删除、修改、查询MySQL中的数据。需要注意的是,数据库是一种非常灵活的数据存储方式,不同的应用场景,也需要根据实际需要进行数据库的优化和设置。同时也要注意保护MySQL的账号密码安全,避免因账号密码泄露而导致的信息泄漏、数据损毁等问题。
