• 21天学习挑战赛——Python操作MySQL和SqlServer


    目录

    1. pymysql模块

    2. pymysql模块使用说明

    2.1 pymysql操作流程图

    2.2 创建连接对象

    2.3 获取游标对象

    2.4 用法举例 

    2.4.1 获取一条数据

    6.4.2 获取多条数据:

    6.4.3 对数据进行增删改操作

    3. pymssql模块使用说明


    活动地址:CSDN21天学习挑战赛

    1. pymysql模块

            pymysql模块 是一个Python 编写的MySQL驱动程序,让我们用 Python语言 操作 MySQL库。由于是第三方库,需要进行手动安装。不同编译环境,使用的方法不同,使用 Pycharm 安装第三方库的方法具体查看往期链接:Pycharm 安装教程

    2. pymysql模块使用说明

    2.1 pymysql操作流程图

     2.2 创建连接对象

            调用 pymysql 模块中的 connect() 函数来创建连接对象。

    函数语法:conn = pymysql.connect(参数列表)

    参数说明:

    • host :连接的 mysql 主机,如果本机是 'localhost'
    • port :连接的 mysql 主机的端口,默认是3306
    • database :数据库的名称
    • user :连接的用户名
    • password :连接的密码
    • charset :通信采用的编码方式,推荐使用 utf8,注意:是 utf8 而不是 utf-8。

    连接对象操作说明:

    • conn.close() :关闭连接
    • conn.commit() :提交数据
    • conn.rollback() :撤销数据 

    2.3 获取游标对象

            获取游标对象的目标就是要执行 sql 语句,完成对数据库的增、删、改、查操作。

    函数语法:cur = conn.cursor()

     游标操作说明:

    • execute(operation[parameters]) :使用游标执行 SQL 语句,返回受影响的行数,主要用于执行 insert、update、delete、select 等语句,也可以执行 creat 、alter、drop 等语句
    • cur.fetchone() :获取查询结果集中的一条数据,返回一个元组,如(1,'张三')
    • cur.fetchall() :获取查询结果集中的所有数据,返回一个数组,如((1,'张三'),(2,'李四')
    • cur.close() :关闭游标,表示和数据库操作完成

    2.4 用法举例 

    2.4.1 获取一条数据

            使用 cur.fetchone() 获取查询结果集中的一条数据,返回一个元组,如(1,'张三')。

    1. #1.导入pymysql模块
    2. import pymysql
    3. #2.创建连接对象
    4. # host :连接的 mysql 主机,如果本机是 'localhost'
    5. # port :连接的 mysql 主机的端口,默认是3306
    6. # database :数据库的名称
    7. # user :连接的用户名
    8. # password :连接的密码
    9. # charset :通信采用的编码方式,推荐使用 utf8
    10. conn = pymysql.connect(host='localhost',
    11. port=3306,
    12. user='root',
    13. password='mysql',
    14. database='python41',
    15. charset='utf8'
    16. )
    17. #3.获取游标,目的是要执行sql语句
    18. cursor = conn.cursor()
    19. #准备sql,之前在mysql客户端如何编写sql,在Python程序里面还怎么编写
    20. sql = 'select * from students;'
    21. #4.执行sql语句
    22. cursor.execute(sql)
    23. #获取查询结果,返回的数据类型是一个元组:(1,'张三')
    24. row = cursor.fetchone()
    25. print(row)
    26. #5.关闭游标
    27. cursor.close()
    28. #6.关闭连接
    29. conn.close()

    分析:如果出现报错 pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)")  ,是因为没有打开或下载 MySQL,下载链接:MySQL下载地址

     6.4.2 获取多条数据:

            使用 cur.fetchall() 获取查询结果集中的所有数据,返回一个数组,如((1,'张三'),(2,'李四')。

    1. #1.导入pymysql模块
    2. import pymysql
    3. #2.创建连接对象
    4. # host :连接的 mysql 主机,如果本机是 'localhost'
    5. # port :连接的 mysql 主机的端口,默认是3306
    6. # database :数据库的名称
    7. # user :连接的用户名
    8. # password :连接的密码
    9. # charset :通信采用的编码方式,推荐使用 utf8
    10. conn = pymysql.connect(host='localhost',
    11. port=3306,
    12. user='root',
    13. password='mysql',
    14. database='python41',
    15. charset='utf8'
    16. )
    17. #3.获取游标,目的是要执行sql语句
    18. cursor = conn.cursor()
    19. #准备sql,之前在mysql客户端如何编写sql,在Python程序里面还怎么编写
    20. sql = 'select * from students;'
    21. #4.执行sql语句
    22. cursor.execute(sql)
    23. #获取查询结果,返回的数据类型是一个元组:((1,'张三'),(2,'李四'))
    24. rows = cursor.fetchall()
    25. for row in rows:
    26. print(row)
    27. #5.关闭游标
    28. cursor.close()
    29. #6.关闭连接
    30. conn.close()

    6.4.3 对数据进行增删改操作

            使用 conn.commit() 提交数据;conn.rollback() 撤销数据 对数据库进行增删改操作。

    1. #1.导入pymysql模块
    2. import pymysql
    3. #2.创建连接对象
    4. # host :连接的 mysql 主机,如果本机是 'localhost'
    5. # port :连接的 mysql 主机的端口,默认是3306
    6. # database :数据库的名称
    7. # user :连接的用户名
    8. # password :连接的密码
    9. # charset :通信采用的编码方式,推荐使用 utf8
    10. conn = pymysql.connect(host='localhost',
    11. port=3309,
    12. user='root',
    13. password='mysql',
    14. database='python41',
    15. charset='utf8'
    16. )
    17. #3.获取游标,目的是要执行sql语句
    18. cursor = conn.cursor()
    19. #增加操作
    20. sql = "insert into classes(name) value('小明')"
    21. #修改操作
    22. # sql = "update classes set name = '小红' where id = 2"
    23. #删除操作
    24. # sql = "delete from classes where id=2"
    25. try:
    26. #4.执行sql语句
    27. cursor.execute(sql)
    28. #增删改都必须提交数据
    29. cursor.commit()
    30. except:
    31. #如果报错就对修改的数据进行撤销,表示数据回来
    32. conn.rollback()
    33. #5.关闭游标
    34. cursor.close()
    35. #6.关闭连接
    36. conn.close()

    3. pymssql模块使用说明

    pymssql模块 与 pymyql模块 的区别在于:

    1. 导入模块:import pymssql
    2. 创建链接对象:conn = pymssql.connect(参数列表)

    其他语法与 pymyql模块 一样。

  • 相关阅读:
    【Paper】2022_切换拓扑下动态事件触发多智能体系统固定时间一致性
    睿趣科技:抖音开通蓝V怎么操作的
    基于Python+Tkinter实现一个贪食蛇小游戏
    大数据----数据仓库架构
    基本分段存储管理方式(分段,段表,地址转换以及与分页管理对比)
    《web课程设计》期末网页制作 基于HTML+CSS+JavaScript制作公司官网页面精美
    springboot项目配置ssl证书
    Karl Guttag:AR眼镜应根据用途来设计,VST并未解决技术难题
    服务器存储面临的两大难题
    上周热点回顾(3.4-3.10)
  • 原文地址:https://blog.csdn.net/m0_52162042/article/details/126235235