• 0
  • 0
分享
  • MySQL Connector驱动模块的连接语法MySQL官方驱动模块
  • 北极 2022-09-14 14:06:49 字数 2076 阅读 5103 收藏 0

MySQL 官方驱动模块

  • 在 Python 语言里,有很多连接 MySQL 数据库的模块,且都能执行 SQL 语句,完成数据的增删改查操作。

  • MySQL Connector 是 MySQL 官方的驱动模块,在兼容性上特别的好;不会有数据乱码的情况的发生,对 MySQL 8.0 的支持也很好。

  • 有很多的第三方的模块对 MySQL 8.0 这个版本兼容性非常的不好,特别是 MySQL 8.0 引入的新的安全机制。不少第三方模块由于没有更新,所以是没有办法连接到最新版本的 MySQL上面的,所以这里推荐大家使用 “MySQL Connector” 这个 MySQL 官方的驱动模块,毕竟是官方,更新的速度还是非常的快的。

MySQL Connector 模块的下载与安装

下载地址:https://dev.mysql.com/downloads/connector/python/

1.png

2.png

安装过程并不复杂,直接一路 “下一步” 即可。

3.png

MySQL Connector 模块的基本连接①

创建连接语法如下:

# coding:utf-8
import mysql.connector
connect = mysql.connector.connect(
    host="localhost", port="3306",
    user="root", password="admin123",
    database="demo"
)
connect.close()
"""
导入 mysql.connector 模块
利用 connector 模块的 connect 方法 ---> 创建连接
填写 连接参数(这里连接的 user 参数为用户名,不要填错成 MySQL 用户名 "username"了 )
host:IP地址,本地连接直接使用 "localhost"
port:端口
user:数据库账号
password:数据库密码
database:连接的数据库逻辑空间
"""

有了这一层的连接,才能够在代码中执行SQL语句,完成 "增、删、改、查" 的操作。

运行结果如下:

4.png

MySQL Connector 模块的基本连接②

Connector 模块的连接还有另外一种方式

# coding:utf-8
import mysql.connector
connect = {
    "host": "localhost",
    "port": 3306,
    "user": "root",
    "password": "admin123",
    "database": "demo"
}
connect_config = mysql.connector.connect(**connect)
connect_config.close()

5.png

游标(Cursor)

刚才我们创建的 "connect" 已经成功的连接到了数据库,接下来我们就使用这个连接去执行 SQL 语句。

  • MySQL Connector 模块里面是使用 “游标” 来执行 SQL 语句的,查询的结果集也会保存到游标之中,如果想要获取结果集,就需要从游标中去获取。

  • 需要注意的是:“添加、删除、修改” 的SQL语句是没有结果集的;“查询” 语句会产生结果集。

创建游标语法如下:

cursor = connect.cursor()
cursor.execute(SQL语句)
"""
将连接数据库的 cursor() 游标方法赋值给变量 "cursor"
然后再在 cursor 的 execute 方法内执行 SQL语句
"""

利用游标(Cursor)执行 SQL 案例

利用游标(Cursor)执行 SQL 案例如下:

# coding:utf-8
import mysql.connector
connect_config = {
    "host": "localhost",
    "port": 3306,
    "user": "root",
    "password": "admin123",
    "database": "demo"
}
connect = mysql.connector.connect(**connect_config)
cursor = connect.cursor()
sql = "SELECT empno, ename, hiredate FROM t_emp;"
cursor.execute(sql)
for i in cursor:
    print(i[0], i[1], i[2])
connect.close()

6.png

小节

在该章节我们使用了 "MySQL Connector" 这个模块成功的连接到了数据库,也执行了SQL语句。给我们的感觉就是使用 Python 操作数据库还是非常的简单的,下一章节我们继续学习利用 Python 针对 MySQL 进行一些更高级的操作。


作者:不渴望力量的哈士奇

原文链接:https://blog.csdn.net/weixin_42250835/article/details/126457533

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、APP测试基本流程1、流程图2、测试周期测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。3、测试资源测试任务开始前,检查各项测试资源。产品功能需求文档;产品原型图;产品效果图;测试设备;其他。4、日报及产品上线报告(内部报告机制)测试人员每天需对所测项目发送测试日报。(也就是我这边有邮件通知测试项目的时候一般均属于输出测试日报)测试日报所包含的内容为:需求ID、总bug数,今日提交bug数、已解决bug数、未解决bug数、对应开发、对应测试等等不同版本测试报告输出二、App测试点1、安全测试1.1软件权限扣...
            0 0 3048
            分享
          •   根据我的观察,优秀的测试人员可以做的事情可以包括如下3点:  ·由单纯的测试变成项目质量保证工作  · 持续集成探索和推动和自动化测试技术研究  · 测试相关工具的开发  1、我们先来讲第一点,由单纯的测试变成项目质量保证工作  测试,从狭义的角度来讲,包括如下这些环节:  测试计划和测试用例编写-测试执行-质量报告书写  测试人员一般会在开发阶段就进行测试计划和测试用例的编写和准备工作;在测试阶段,我们一般先会做功能测试,等项目功能基本稳定,bug较少了,就开始做兼容性测试、性能测试、安全性测试。兼容性测试保证了产品在多浏览器、APP在产品在不同机型下的兼容性;性能测...
            0 0 1199
            分享
          •   据报道,就在最新的“MetaVerified”订阅服务发布后几个小时,TwitterCEO埃隆·马斯克(ElonMusk)就表示,Meta“必然”效仿Twitter,对认证用户收费。  扎克伯格周日表示,如果通过网页浏览器购买,Meta针对Facebook和Instagram推出的认证订阅项目起价为每月11.99美元。“这项新功能是为了增强我们各项服务的真实性和安全性。”他说,这项服务可以保护订阅者不被冒充,还可以直接联系客服。Meta将于本周首先在澳大利亚和新西兰推出这项服务。  对此,有媒体发文称,MetaCEO马克·扎克伯格(MarkZuckerberg)对认证用户收费的做法是在效仿...
            0 0 915
            分享
          •   据报道,苹果周四成功说服美国一家上诉法院维持专利法院的判决。苹果原本有可能要向专利授权公司VirnetX支付5.02亿美元侵权赔偿,而这一最新判决有可能推翻此前的赔偿决定。  美国联邦巡回上诉法院确认了美国专利和商标局的裁定,认为VirnetX指控苹果侵犯的两项专利无效。  VirnetXCEO肯达尔·拉森在声明中表示,该公司对这项裁决感到失望,并考虑重新申请听证会,或者上诉到美国最高法院。  本案宣判后,VirnetX股价在周四纽交所常规交易中下跌超过14%。但在本案宣判前,该股早盘一度涨超55%,原因是该公司宣布将派发特别股息,并预计未来可能因为苹果案获益。  苹果发言人尚未对此置评。...
            0 0 811
            分享
          • 拥抱自动化即使通过在每个阶段手动测试代码以获取质量结果,也可以实现连续测试。尽管如此,测试自动化可以加快错误检测的速度以及作为过程一部分的其他一切。在每个阶段更快的解决意味着更快的软件发布。尽管从手动到自动化的转变不可能一蹴而就。但是,一旦实施,从长远来看,肯定会获得巨大的收益。在持续测试框架内实现自动化不仅仅意味着实施优化的回归测试套件。从单元测试开始,验证功能的代码片段和组件测试。这个端到端自动化通过保持连续性来缩小测试人员和DevOps团队之间的差距,从而解决更快的交付挑战。集成持续测试工具持续测试不仅仅是自动化的游戏,它当然需要一些更强大的工具形式的支持,以使过程更容易、更快、更有效。...
            0 0 1251
            分享
      • 51testing软件测试圈微信