python连接MySQL数据库端口不能修改

发布时间: 2023-11-21 10:45 阅读: 文章来源:1MUMB108PS

欢迎来到数据科学探索,数据科学家是目前最稀缺的工作岗位之一,成为一名数据科学家就意味着站在了互联网岗位鄙视链的顶端。欢迎关注数据科学探索,这里有大量关于数据分析、数据挖掘、机器学习、爬虫、可视化以及量化等相关领域的知识,希望能帮助各位在大数据的应用浪潮中抓住属于自己的机遇!

在数据科学中,我们经常要连接数据库并且执行特定的操作,比如数据获取、更新、删除等。

一般来说我们可以直接登录MySQL并且完成这些任务,但是很多情况下,我们不得不在脚本中完成这些任务,比如说我们需要获取数据后在Python中执行更多的数据清洗、计算、建模等操作。

在Python中,pymysql是一个非常好的用于操作MySQL的库,接下来我们就来看一下如何用它来连接数据库。

参数说明

我们用pymysql.Connect()方法来连接MySQL,它支持的参数如下:

pymysql.Connect()参数说明

host(str): MySQL服务器地址

port(int): MySQL服务器端口号

user(str): 用户名

passwd(str): 密码

db(str): 数据库名称

charset(str): 连接编码

连接之后,Connection()方法胡返回一个connection对象,它支持如下的一些方法:

cursor() 使用该连接创建并返回游标

commit() 提交当前事务

rollback() 回滚当前事务

close() 关闭连接

cursor()方法返回当前连接的游标,即一个cursor对象,cursor()对象支持如下方法:

execute(op) 执行一个数据库的查询命令

fetchone() 取得结果集的下一行

fetchmany(size) 获取结果集的下几行

fetchall() 获取结果集中的所有行

rowcount() 返回数据条数或影响行数

close() 关闭游标对象

接下来我们来看一些实战的案例。

案例

下面是一系列操作MySQL的例子,从案例中学习总是最快的,大家先来看一下。

import pymysql# 连接数据库connect = pymysql.Connect( host=‘localhost‘, port=3310, user=‘woider‘, passwd=‘3243‘, db=‘python‘, charset=‘utf8‘)# 获取游标cursor = connect.cursor()# 插入数据sql = "insert INTO trade (name, account, saving) VALUES ( ‘%s‘, ‘%s‘, %.2f )"data = (‘雷军‘, ‘13512345678‘, 10000)cursor.execute(sql % data)connect.commit()print(‘成功插入‘, cursor.rowcount, ‘条数据‘)# 修改数据sql = "update trade SET saving = %.2f WHERE account = ‘%s‘ "data = (8888, ‘13512345678‘)cursor.execute(sql % data)connect.commit()print(‘成功修改‘, cursor.rowcount, ‘条数据‘)# 查询数据sql = "select name,saving FROM trade WHERE account = ‘%s‘ "data = (‘13512345678‘,)cursor.execute(sql % data)for row in cursor.fetchall(): print("Name:%s\tSaving:%.2f" % row)print(‘共查找出‘, cursor.rowcount, ‘条数据‘)# 删除数据sql = "delete FROM trade WHERE account = ‘%s‘ LIMIT %d"data = (‘13512345678‘, 1)cursor.execute(sql % data)connect.commit()print(‘成功删除‘, cursor.rowcount, ‘条数据‘)# 事务处理sql_1 = "update trade SET saving = saving + 1000 WHERE account = ‘18012345678‘ "sql_2 = "update trade SET expend = expend + 1000 WHERE account = ‘18012345678‘ "sql_3 = "update trade SET income = income + 2000 WHERE account = ‘18012345678‘ "try: cursor.execute(sql_1) # 储蓄增加1000 cursor.execute(sql_2) # 支出增加1000 cursor.execute(sql_3) # 收入增加2000except Exception as e: connect.rollback() # 事务回滚 print(‘事务处理失败‘, e)else: connect.commit() # 事务提交 print(‘事务处理成功‘, cursor.rowcount)# 关闭连接cursor.close()connect.close()

如果手头暂时没有合适的数据库的,可以先关注、收藏,然后找时间练习一下。

•••展开全文