pymysql 操作数据库 (含使用socket连接数据库的方法)
db = pymysql.connect(host="127.0.0.1", user="root",password="root", db="mysql", port=3306, charset='utf8',unix_socket="/Applications/MAMP/tmp/mysql/mysql.sock")
connect里面的参数参考: https://www.jianshu.com/p/4850afe7098f
unix_socket为使用socket登录,我用mamp中的phpmyadmin 有给的
正常链接
db = pymysql.connect("数据库地址","账号","密码","库名")
Python3 安装 PyMySQL
https://blog.csdn.net/cityzenoldwang/article/details/78403862
教程
https://www.runoob.com/python3/python3-mysql.html
例子:
一:
#连接测试数据库数据库
db = pymysql.connect("数据库地址","账号","密码","访问的数据库") ##这里这样默认填可能会说传入参数过多的解决方法 https://www.cnblogs.com/kaibindirver/p/14425482.html
目前的一个解决方案是,为每个参数都指定到对应的参数名上:
db = pymysql.connect(host="localhost", user="root", password="xxx", database="xxxx")
二: 使用socket连接
db = pymysql.connect(host="127.0.0.1", user="root",password="root", db="访问的数据库", port=3306, charset='utf8',unix_socket="/Applications/MAMP/tmp/mysql/mysql.sock")
批量插入的方法
import pymysql
# 数据库连接参数
connection = pymysql.connect(host='your_host',
user='your_user',
password='your_password',
database='your_db',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
try:
with connection.cursor() as cursor:
# 准备SQL语句
sql = "INSERT INTO `your_table` (`column1`, `column2`) VALUES (%s, %s)"
# 准备要插入的数据
data = [
('value1', 'value2'),
('value3', 'value4'),
# 更多数据...
]
# 执行批量插入
cursor.executemany(sql, data)
# 提交事务
connection.commit()
finally:
connection.close()