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 @ 2020-04-07 17:20  凯宾斯基  阅读(1738)  评论(0)    收藏  举报