Python|Python连接MySQL数据库方法介绍(超详细!手把手项目案例操作)


Python|Python连接MySQL数据库方法介绍(超详细!手把手项目案例操作)文章插图
作者 | CDA数据分析师
来源 | CDA数据分析研究院
本文涉及到的开发环境:

  • 操作系统 Windows 10
  • 数据库 MySQL 8.0
  • Python 3.7.2
  • pip 19.0.3
两种方法进行数据库的连接分别是PyMySQL和mysql.connector
步骤:
  1. 连接数据库
  2. 生成游标对象
  3. 执行SQL语句
  4. 关闭游标
  5. 关闭连接
PyMySQL
PyMySQL : 是封装了MySQL驱动的Python驱动 , 一个能使Python连接到MySQL的库
环境要求:Python version >= 3.4
PyMySQL安装
安装
Win键+X键再按I键 , 调出Windows PowerShell窗口 , 输入
pip install PyMySQL
回车
运行结果如下则安装成功
Python|Python连接MySQL数据库方法介绍(超详细!手把手项目案例操作)文章插图
pip version ===19.0.3
查看版本
查看PyMySQL的版本 , 输入
pip show PyMySQL
回车
Python|Python连接MySQL数据库方法介绍(超详细!手把手项目案例操作)文章插图
利用PyMySQL连接数据库
首先我们的MySQL数据库已安装 , 且已建好名为test的数据库 , 其中有名为student的表
Python|Python连接MySQL数据库方法介绍(超详细!手把手项目案例操作)文章插图
import pymysql
#连接数据库
conn=pymysql.connect(host = '127.0.0.1' # 连接名称 , 默认127.0.0.1
,user = 'root' # 用户名
,passwd='password'# 密码
,port= 3306 # 端口 , 默认为3306
,db='test' # 数据库名称
,charset='utf8' # 字符编码
)
cur = conn.cursor()# 生成游标对象
sql="select * from `student` "# SQL语句
cur.execute(sql)# 执行SQL语句
data = http://kandian.youth.cn/index/cur.fetchall()# 通过fetchall方法获得数据
for i in data[:2]:# 打印输出前2条数据
print (i)
cur.close()# 关闭游标
conn.close()# 关闭连接
上述代码中 , 实现了通过Python连接MySQL查询所有的数据 , 并输出前2条数据的功能 。 执行结果如下:
('a', '赵大', '16')
('b', '钱二', '16')
mysql.connector
mysql-connector-python:是MySQL官方的纯Python驱动;
mysql.connector安装
安装
pip install mysql
Python|Python连接MySQL数据库方法介绍(超详细!手把手项目案例操作)文章插图
查看版本
pip show mysql
Python|Python连接MySQL数据库方法介绍(超详细!手把手项目案例操作)文章插图
利用 mysql.connector连接数据库
首先我们的MySQL数据库已安装 , 且已建好名为test的数据库 , 其中有名为student的表
Python|Python连接MySQL数据库方法介绍(超详细!手把手项目案例操作)文章插图
import mysql.connector
conn=mysql.connector.connect(host = '127.0.0.1' # 连接名称 , 默认127.0.0.1
,user = 'root' # 用户名
,passwd='password' # 密码
,port= 3306 # 端口 , 默认为3306
,db='test' # 数据库名称
,charset='utf8' # 字符编码
)
cur = conn.cursor()# 生成游标对象
sql="select * from `student` "# SQL语句
cur.execute(sql)# 执行SQL语句
data = http://kandian.youth.cn/index/cur.fetchall()# 通过fetchall方法获得数据
for i in data[:2]:# 打印输出前2条数据
print (i)
cur.close()# 关闭游标
conn.close()# 关闭连接
上述代码中 , 实现了通过Python连接MySQL查询所有的数据 , 并输出前2条数据的功能 。 执行结果如下:
('a', '赵大', '16')
('b', '钱二', '16')
Python对MySql数据库实现增删改查
接下来我们以用pymysql包为例 , 介绍一下如何用Python对数据库中的数据进行增删改查。

import pymysql
#连接数据库
conn=pymysql.connect(host = '127.0.0.1' # 连接名称 , 默认127.0.0.1
,user = 'root' # 用户名
,passwd='password'# 密码
,port= 3306 # 端口 , 默认为3306
,db='test' # 数据库名称
,charset='utf8' # 字符编码
)
cur = conn.cursor()# 生成游标对象
#=============插入语句===============================
sql= "INSERT INTO student VALUES ('p','魏六','17')"
#===================================================
try:
cur.execute(sql1) # 执行插入的sql语句
conn.commit() # 提交到数据库执行
except:
coon.rollback()# 如果发生错误则回滚
conn.close() # 关闭数据库连接
然后我们再运行查询语句
import mysql.connector
conn=mysql.connector.connect(host = '127.0.0.1' # 连接名称 , 默认127.0.0.1
,user = 'root' # 用户名
,passwd='password' # 密码
,port= 3306 # 端口 , 默认为3306
,db='test' # 数据库名称
,charset='utf8' # 字符编码
)
cur = conn.cursor()# 生成游标对象