目录

一、前期准备

PyMySQL

二、功能实现

1、连接数据库

2、创建数据表

3、向数据表中插入数据

4、查询数据表中的数据

5、更改数据表中的数据

6、删除数据表中的数据

7、删除数据表

三、参考文档和视频


本文主要写介绍 Python3 使用 PyMySQL 驱动连接MySQL数据库,并实现简单的增删改查(附有代码实例实战)。

一、前期准备

PyMySQL

1、什么是PyMySQL

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。

2、安装PyMySQL

打开pycharm编译器,点击Terminal终端,在终端里输入:pip install pymysql,即可安装pymysql包,如下图(由于我已经安装过了所以提示已经安装):

如果出现以下warning警告(如下图),说明该更新MySQL版本了,随即在终端输入以下语句即可

 python -m pip install --upgrade pip;

3、安装问题参考文档

如果打开终端出现无法输入命令的问题可参照此文档:

(60条消息) Pycharm中Cannot open Local Terminal问题解决方案。_MarshallKing的博客-CSDN博客

4、Navicat操作

用来创建数据库并存储数据的工具,如下图所示,能够成功创建数据库、并在数据库中创建表、在表中插入values值,掌握数据库中的增删改查操作,如图展示navicat界面以及已经创建好的东西:

 5、准备完毕开始实战!

二、功能实现

实例:数据库:zyf。

功能实现的每一步具体操作步骤在代码中展示:

1、连接数据库

代码模块:

'''1、导入库:导入已经下载好的pymysql库。'''
import pymysql
'''2、连接数据库:最好用try except捕获异常。'''
try:
    ''' 打开数据库连接'''
    db = pymysql.connect(
        #传入正确的用户名、密码、及数据库名,同时在navicat中创建数据库时应选择localhost(计算机本身)属性
        host='localhost',
        user='root',
        password='root',
        database='zyf')
    print("连接数据库成功!")
except:
    print("连接数据库失败!")

输出样例:

A:\Maker工作室\培训学习\PythonHightrain\PythonProjects\venv\Scripts\python.exe A:/Maker工作室/培训学习/PythonHightrain/PythonProjects/Project6/__init__.py
数据库连接成功!

Process finished with exit code 0

2、创建数据表

代码模块:

'''1、导入库:导入已经下载好的pymysql库。'''
import pymysql
'''2、连接数据库并执行操作:用try except捕获异常。'''
try:
    '''打开数据库连接,实现连接数据库'''
    db = pymysql.connect(
        host='localhost',
        user='root',
        password='root',
        database='zyf')
    '''声明一个游标'''
    cursor = db.cursor()
    #使用execute()方法来为数据库创建表
    '''创建表之前先检查是否存在,如果存在则删除'''
    cursor.execute("DROP TABLE IF EXISTS zyf_course")
    '''编辑sql语句'''
    sql = """CREATE TABLE zyf_course (
              cid varchar(20),
              cname  varchar(20),
              cscore  varchar(20) )
             """
    '''执行sql语句'''
    cursor.execute(sql)
    print("创建表成功!")
except:
    print("创建表失败!")

输出样例:

A:\Maker工作室\培训学习\PythonHightrain\PythonProjects\venv\Scripts\python.exe A:/Maker工作室/培训学习/PythonHightrain/PythonProjects/Project6/create.py
创建表成功!

Process finished with exit code 0

3、向数据表中插入数据

代码模块:

'''1、导入库:导入已经下载好的pymysql库。'''
import pymysql
'''2、打开数据库连接,实现连接数据库'''
db = pymysql.connect(
    host='localhost',
    user='root',
    password='root',
    database='zyf')
'''3、用cursor()方法获取操作游标'''
cursor = db.cursor()
'''4、编辑sql语句'''
sql = """INSERT INTO zyf_course(cid,cname,cscore)VALUES ('001', '古代建筑美学', '2.0')"""
'''5、执行操作:用try except捕获异常。'''
try:
    '''执行sql语句'''
    cursor.execute(sql)
    '''提交到数据库执行'''
    dbmit()
    print("成功插入课程信息!")
except:
    '''如果发生错误则回滚并输出提示语句'''
    db.rollback()
    print("插入信息失败,请检查代码!!")

输出样例:

A:\Maker工作室\培训学习\PythonHightrain\PythonProjects\venv\Scripts\python.exe A:/Maker工作室/培训学习/PythonHightrain/PythonProjects/Project6/insert.py
成功插入课程信息!

Process finished with exit code 0

4、查询数据表中的数据

代码模块:

'''1、导入库:导入已经下载好的pymysql库'''
import pymysql
'''2、打开数据库连接,实现连接数据库'''
db = pymysql.connect(
    host='localhost',
    user='root',
    password='root',
    database='zyf')
'''3、用cursor()方法获取操作游标'''
cursor = db.cursor()
'''4、编辑sql语句'''
sql = """SELECT * FROM zyf_course"""
'''5、执行操作:用try except捕获异常。'''
try:
    '''执行sql语句'''
    cursor.execute(sql)
    '''获取数据表中的value值'''
    results = cursor.fetchall()
    for row in results:
        cid = row[0]
        cname = row[1]
        cscore = row[2]
        # 打印结果
        print("课程号是{},课程名字是{},课程学分是{}".format(cid, cname, cscore))
except:
    '''如果发生错误则回滚并输出提示语句'''
    print("查询失败")

输出样例:

A:\Maker工作室\培训学习\PythonHightrain\PythonProjects\venv\Scripts\python.exe A:/Maker工作室/培训学习/PythonHightrain/PythonProjects/Project6/查询.py
课程号是001,课程名字是古代建筑美学,课程学分是2.0

Process finished with exit code 0

5、更改数据表中的数据

代码模块:

'''1、导入库:导入已经下载好的pymysql库'''
import pymysql
'''2、打开数据库连接,实现连接数据库'''
db = pymysql.connect(
    host='localhost',
    user='root',
    password='root',
    database='zyf')
'''3、用cursor()方法获取操作游标'''
cursor = db.cursor()
'''4、编辑sql语句和更改后的value值'''
sql = """UPDATE zyf_course SET cid= %s WHERE cid=%s"""
value=('Java程序设计','4.0')
'''5、执行操作:用try except捕获异常。'''
try:
    '''执行sql语句'''
    cursor.execute(sql,value)
    '''提交到数据库执行'''
    dbmit()
    print("更改课程信息成功!")
except:
    '''如果发生错误则回滚并输出提示语句'''
    print("更改失败!")

输出样例:

A:\Maker工作室\培训学习\PythonHightrain\PythonProjects\venv\Scripts\python.exe A:/Maker工作室/培训学习/PythonHightrain/PythonProjects/Project6/更改.py
更改课程信息成功!

Process finished with exit code 0

6、删除数据表中的数据

代码模块:

'''1、导入库:导入已经下载好的pymysql库'''
import pymysql
'''2、打开数据库连接,实现连接数据库'''
db = pymysql.connect(
    host='localhost',
    user='root',
    password='root',
    database='zyf')
'''3、用cursor()方法获取操作游标'''
cursor = db.cursor()
'''4、编辑sql语句和更改后的value值'''
sql = """DELETE FROM zyf_course where cid=%s"""
value=('Java程序设计')
'''5、执行操作:用try except捕获异常。'''
try:
    '''执行sql语句'''
    cursor.execute(sql,value)
    '''提交到数据库执行'''
    dbmit()
    print("删除课程信息成功!")
except:
    '''如果发生错误则回滚并输出提示语句'''
    print("删除失败!")

输出样例:

A:\Maker工作室\培训学习\PythonHightrain\PythonProjects\venv\Scripts\python.exe A:/Maker工作室/培训学习/PythonHightrain/PythonProjects/Project6/删除.py
删除课程信息成功!

Process finished with exit code 0

7、删除数据表

代码模块

'''1、导入库:导入已经下载好的pymysql库'''
import pymysql
'''2、打开数据库连接,实现连接数据库'''
db = pymysql.connect(
    host='localhost',
    user='root',
    password='root',
    database='zyf')
'''3、用cursor()方法获取操作游标'''
cursor = db.cursor()
'''4、编辑sql语句和更改后的value值'''
sql = 'DROP TABLE IF EXISTS zyf_course'
'''5、执行sql语句'''
cursor.execute(sql)
print("数据表删除成功!")

输出样例:

A:\Maker工作室\培训学习\PythonHightrain\PythonProjects\venv\Scripts\python.exe A:/Maker工作室/培训学习/PythonHightrain/PythonProjects/Project6/删除数据表.py
数据表删除成功!

Process finished with exit code 0

三、参考文档和视频

Python3 MySQL 数据库连接 – PyMySQL 驱动 | 菜鸟教程 (runoob)

Python连接MySQL数据库【趣学Python】_哔哩哔哩_bilibili

(60条消息) Python连接MySQL数据库_Python全栈之巅-CSDN博客_python 连接mysql数据库

更多推荐

Python3实现连接MySQL数据库—pymysql驱动