0


Python酷玩之旅_如何连接MySQL(mysql-connector-python)

前言

  1. Python

作为数据科学、机器学习等领域的必选武器,备受各界人士的喜爱。当你面对不同类型、存储于各类介质的数据时,第一时间是不是要让它亮个相?做个统计,画个图表,搞个报表… 等等。

正如Java中的

  1. JdbcDriver

一样,Python中也有同样角色的库。比如今天博主正要介绍的

  1. mysql-connector-python

,它是Python中操作数据库的常用工具,我们先从它说起吧,Let’s go~

在这里插入图片描述


一、mysql-connector-python

1. 简介

Python中连接mysql有各种工具支持,博主推荐使用

  1. mysql-connector-python

,它是MySQL官方提供的标准工具,依赖少,查询方便。

2. 安装

在python中安装

  1. mysql-connector-python

很简单,只需执行如下命令:

  1. # 使用清华源
  2. pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple mysql-connector-python

安装过程:
在这里插入图片描述
安装结果:
在这里插入图片描述

二、数据操作教程(源码)

安装

  1. mysql-connector-python

完成后,我们可以尽情的玩耍玩耍,先来看看如何连接。

1. 创建连接

我们可通过

  1. mysql.connector.connect

创建连接,示例代码:

  1. connection = mysql.connector.connect(
  2. host=[HOST_NAME],
  3. user=[USERNAME],
  4. passwd=[PASSWORD],
  5. database=[DATABASE])

其中,它支持哪些参数,我们来看看:
参数说明host数据库主机IPport数据库端口,默认

  1. 3306

user数据库用户password数据库密码database数据库名称autocommit是否自动提交事务,默认为

  1. False

charset字符编码pool_name连接池名称pool_size连接池大小

2. 查询

创建连接后,先做一个查询吧(代码已封装,请参考执行):

  1. import mysql.connector
  2. from mysql.connector import Error
  3. classMysqlUtil:def__init__(self, host_name, user_name, passwd, db_name):
  4. self.host_name = host_name
  5. self.user_name = user_name
  6. self.passwd = passwd
  7. self.db_name = db_name
  8. defget_connection(self):
  9. connection =Nonetry:
  10. connection = mysql.connector.connect(
  11. host=self.host_name,
  12. user=self.user_name,
  13. passwd=self.passwd,
  14. database=self.db_name
  15. )print("恭喜你,成功连接MySQL")except Error as e:print(f"异常啦,原因: '{e}'")return connection
  16. defquery(self,conn, sql):try:
  17. cursor = conn.cursor()
  18. cursor.execute(sql)return cursor
  19. except Error as e:print(f"异常啦,原因: '{e}'")if __name__ =='__main__':# 连接信息
  20. host ='127.0.0.1'
  21. user ='root'
  22. password ='123456'
  23. database ='mysql'# 创建连接
  24. mysql_util = MysqlUtil(host, user, password, database)
  25. conn = mysql_util.get_connection()# 查询
  26. sql ='select * from 表名'
  27. my_cursor = mysql_util.query(conn, sql)
  28. result = my_cursor.fetchall()print(f'查询记录数:{len(result)}')# 关闭游标
  29. my_cursor.close()# 关闭连接
  30. conn.close()
  1. 提示

:查询完成后,一定要关闭游标和连接。

3. 新增

新增记录时,可在查询源码的基础上,封装一个

  1. insert

函数:

  1. # 插入记录definsert(self, conn, sql, val):try:
  2. cursor = conn.cursor()
  3. cursor.execute(sql,val)return cursor
  4. except Error as e:print(f"异常啦,原因: '{e}'")

  1. main

函数中,进行测试:

  1. # 创建连接
  2. mysql_util = MysqlUtil(host, user, password, database)
  3. conn = mysql_util.get_connection()# SQL
  4. sql ="INSERT INTO 表名(id,name) VALUES (%s, %s)"
  5. val =('1','python')
  6. mysql_util.insert(conn,sql, val)# 提交
  7. conn.commit()# 关闭连接
  8. conn.close()

4. 删除

同理,删除我们也可以封装一个

  1. delete

函数,因为和

  1. insert

类似,这里不再呈现。只需调整执行的SQL即可:

  1. # SQL
  2. sql ="delete from 表名 where name=%s"
  3. val =('python',)

5. 事务

在创建游标前,我们可以主动开启一个事务:

  1. conn = mysql_util.get_connection()# 开始事务
  2. conn.start_transaction()""" 数据操作 """

最后一步很重要,一定要提交哦:

  1. # 提交事务
  2. conn.commit()

6. 其他

其他场景比如按条件查询,删除表,清空表等操作,均可通过改变SQL的方式,执行相关数据操作。这里不再一一罗列,是不是很简单?

结语

  1. mysql-connector-python

是一款mysql官方支持的数据库工具,博主通过示例呈现了它的能力和优势,希望对你有帮助。

走过的、路过的盆友们,点点赞,收收藏,并加以指导,以备不时之需哈~


在这里插入图片描述


本文转载自: https://blog.csdn.net/splendid_java/article/details/142452573
版权归原作者 一叶飞舟 所有, 如有侵权,请联系我们删除。

“Python酷玩之旅_如何连接MySQL(mysql-connector-python)”的评论:

还没有评论