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()

 

posted @   凯宾斯基  阅读(1685)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2019-04-07 创建2个请求例子,让2个例子有不同的请求次数的方法
2019-04-07 locust -基础框架
2019-04-07 whith ~ as 用法
点击右上角即可分享
微信分享提示