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

一叶飞舟 2024-10-01 17:35:01 阅读 50

前言

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

正如Java中的JdbcDriver一样,Python中也有同样角色的库。比如今天博主正要介绍的mysql-connector-python,它是Python中操作数据库的常用工具,我们先从它说起吧,Let’s go~

在这里插入图片描述


一、mysql-connector-python

1. 简介

Python中连接mysql有各种工具支持,博主推荐使用<code>mysql-connector-python,它是MySQL官方提供的标准工具,依赖少,查询方便。

2. 安装

在python中安装mysql-connector-python很简单,只需执行如下命令:

# 使用清华源

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple mysql-connector-python

安装过程:

在这里插入图片描述

安装结果:

在这里插入图片描述

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

安装<code>mysql-connector-python完成后,我们可以尽情的玩耍玩耍,先来看看如何连接。

1. 创建连接

我们可通过mysql.connector.connect创建连接,示例代码:

connection = mysql.connector.connect(

host=[HOST_NAME],

user=[USERNAME],

passwd=[PASSWORD],

database=[DATABASE]

)

其中,它支持哪些参数,我们来看看:

参数 说明
host 数据库主机IP
port 数据库端口,默认3306
user 数据库用户
password 数据库密码
database 数据库名称
autocommit 是否自动提交事务,默认为False
charset 字符编码
pool_name 连接池名称
pool_size 连接池大小

2. 查询

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

import mysql.connector

from mysql.connector import Error

class MysqlUtil:

def __init__(self, host_name, user_name, passwd, db_name):

self.host_name = host_name

self.user_name = user_name

self.passwd = passwd

self.db_name = db_name

def get_connection(self):

connection = None

try:

connection = mysql.connector.connect(

host=self.host_name,

user=self.user_name,

passwd=self.passwd,

database=self.db_name

)

print("恭喜你,成功连接MySQL")

except Error as e:

print(f"异常啦,原因: '{ e}'")

return connection

def query(self,conn, sql):

try:

cursor = conn.cursor()

cursor.execute(sql)

return cursor

except Error as e:

print(f"异常啦,原因: '{ e}'")

if __name__ == '__main__':

# 连接信息

host = '127.0.0.1'

user = 'root'

password = '123456'

database = 'mysql'

# 创建连接

mysql_util = MysqlUtil(host, user, password, database)

conn = mysql_util.get_connection()

# 查询

sql = 'select * from 表名'

my_cursor = mysql_util.query(conn, sql)

result = my_cursor.fetchall()

print(f'查询记录数:{ len(result)}')

# 关闭游标

my_cursor.close()

# 关闭连接

conn.close()

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

3. 新增

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

# 插入记录

def insert(self, conn, sql, val):

try:

cursor = conn.cursor()

cursor.execute(sql,val)

return cursor

except Error as e:

print(f"异常啦,原因: '{ e}'")

main函数中,进行测试:

# 创建连接

mysql_util = MysqlUtil(host, user, password, database)

conn = mysql_util.get_connection()

# SQL

sql = "INSERT INTO 表名(id,name) VALUES (%s, %s)"

val = ('1','python')

mysql_util.insert(conn,sql, val)

# 提交

conn.commit()

# 关闭连接

conn.close()

4. 删除

同理,删除我们也可以封装一个delete函数,因为和insert类似,这里不再呈现。只需调整执行的SQL即可:

# SQL

sql = "delete from 表名 where name=%s"

val = ('python',)

5. 事务

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

conn = mysql_util.get_connection()

# 开始事务

conn.start_transaction()

""" 数据操作 """

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

# 提交事务

conn.commit()

6. 其他

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

结语

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

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


在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。