备案过的网站换空间,潍坊网站建设潍坊,华建建设集团网站,成都网站建设哪些公司好前言
Python作为数据科学、机器学习等领域的必选武器#xff0c;备受各界人士的喜爱。当你面对不同类型、存储于各类介质的数据时#xff0c;第一时间是不是要让它亮个相#xff1f;做个统计#xff0c;画个图表#xff0c;搞个报表… 等等。
正如Java中的JdbcDriver一样…前言
Python作为数据科学、机器学习等领域的必选武器备受各界人士的喜爱。当你面对不同类型、存储于各类介质的数据时第一时间是不是要让它亮个相做个统计画个图表搞个报表… 等等。
正如Java中的JdbcDriver一样Python中也有同样角色的库。比如今天博主正要介绍的mysql-connector-python它是Python中操作数据库的常用工具我们先从它说起吧Let’s go~ 一、mysql-connector-python
1. 简介
Python中连接mysql有各种工具支持博主推荐使用mysql-connector-python它是MySQL官方提供的标准工具依赖少查询方便。
2. 安装
在python中安装mysql-connector-python很简单只需执行如下命令
# 使用清华源pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple mysql-connector-python安装过程 安装结果
二、数据操作教程源码
安装mysql-connector-python完成后我们可以尽情的玩耍玩耍先来看看如何连接。
1. 创建连接
我们可通过mysql.connector.connect创建连接示例代码
connection mysql.connector.connect(host[HOST_NAME],user[USERNAME],passwd[PASSWORD],database[DATABASE]
)其中它支持哪些参数我们来看看
参数说明host数据库主机IPport数据库端口默认3306user数据库用户password数据库密码database数据库名称autocommit是否自动提交事务默认为Falsecharset字符编码pool_name连接池名称pool_size连接池大小
2. 查询
创建连接后先做一个查询吧代码已封装请参考执行
import mysql.connector
from mysql.connector import Errorclass MysqlUtil:def __init__(self, host_name, user_name, passwd, db_name):self.host_name host_nameself.user_name user_nameself.passwd passwdself.db_name db_namedef get_connection(self):connection Nonetry:connection mysql.connector.connect(hostself.host_name,userself.user_name,passwdself.passwd,databaseself.db_name)print(恭喜你成功连接MySQL)except Error as e:print(f异常啦原因: {e})return connectiondef query(self,conn, sql):try:cursor conn.cursor()cursor.execute(sql)return cursorexcept Error as e:print(f异常啦原因: {e})if __name__ __main__:# 连接信息host 127.0.0.1user rootpassword 123456database 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 cursorexcept 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官方支持的数据库工具博主通过示例呈现了它的能力和优势希望对你有帮助。
走过的、路过的盆友们点点赞收收藏并加以指导以备不时之需哈~