python 使用pymysql连接Mysql方法

调用如下方法传入sql,即可得到返回数据

链接

import pymysql
from pymysql.cursors import DictCursor
def getData(sql):
    # 1、连接数据库
    conn = pymysql.connect(
        host='数据库Host',
        port=端口,
        user='用户名',
        password='密码',
        database='数据库名称'
    )
    # 目标:执行 sql 语句
    # 2、创建游标
    cursor = conn.cursor(cursor=DictCursor)     # 字典游标 => 获得的结果是 字典
                                                # 原本获取到的查询结果是 元组

    # 接下来就可以用游标去执行各种操作了
    # 4. 执行sql
    result = cursor.execute(sql)
    print(result)

    # 注意: 查询操作, 返回数据存放在 cursor 里

    # # fetchone() 一次拿一条记录
    # one = cursor.fetchone()
    # print(one)
    # # fetchmany(3) 一次拿三条数据
    # ret = cursor.fetchmany(3)
    # print(ret)

    # fetchall() 全拿
    send_data = cursor.fetchall()

    if cursor:
        cursor.close()
    if conn:
        conn.close()  # 一定要记得关闭链接
    return  send_data

增删改查

下面是使用 pymysql 进行增删改查操作的代码示例:

python复制代码

import pymysql

# 建立连接
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test', port=3306)

# 创建游标对象
cursor = conn.cursor()

# 查询操作
sql = "SELECT * FROM users"
cursor.execute(sql)
results = cursor.fetchall()
print(results)

# 插入操作
sql = "INSERT INTO users(username, age, gender) VALUES (%s, %s, %s)"
data = ("Tom", 20, 1)
cursor.execute(sql, data)
conn.commit()
print("插入成功!")

# 更新操作
sql = "UPDATE users SET age=%s WHERE id=%s"
data = (21, 2)
cursor.execute(sql, data)
conn.commit()
print("更新成功!")

# 删除操作
sql = "DELETE FROM users WHERE id=%s"
data = (2,)
cursor.execute(sql, data)
conn.commit()
print("删除完成!")

# 关闭游标和连接
cursor.close()
conn.close()`

以上代码对 test 数据库中的 users 表执行了查询、插入、更新和删除操作。execute() 方法用于执行 SQL 语句,其中 %s 表示占位符,可以使用元组或列表等数据结构进行数据传参。调用 commit() 方法可以提交刚才执行的操作,close() 方法用于关闭游标对象和数据库连接。

批量插入

Python 批量插入 MySQL,可以使用 executemany() 方法实现,示例如下:

import mysql.connector

# 连接 MySQL 数据库
cnx = mysql.connector.connect(user='username', password='password',
                              host='127.0.0.1',
                              database='database_name')
cursor = cnx.cursor()

# 执行批量插入操作
insert_query = "INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)"
data = [('value11', 'value21', 'value31'), ('value12', 'value22', 'value32')]
cursor.executemany(insert_query, data)

# 提交操作
cnx.commit()

# 关闭连接
cursor.close()
cnx.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值