Python中操作mysql的pymysql模块详解

本文详细介绍了如何在Python中使用pymysql模块进行MySQL数据库操作,包括连接数据库、设置charset防止中文乱码、执行SQL语句(如插入、查询记录)以及关闭数据库连接。通过实例演示了一个完整的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本操作:
(1)导入pymysql

pymysql: import pymysql 

(2)连接数据库:

conn=pymysql.connect(host='localhost',user='root',passwd='root',db='ere',charset='utf8')   

务必注意各等号前面的内容!charset参数可避免中文乱码
(3)获取操作游标:

cur=conn.cursor()

(4)执行sql语句,插入记录:

sta=cur.execute("insert 语句")

执行成功后sta值为1。更新、删除语句与此类似。
(5)执行sql语句,查询记录:

cur.execute("select语句")

执行成功后cur变量中保存了查询结果记录集,然后再用循环打印结果:

for each in cur:
      print(each[1].decode('utf-8'))     # each[1] 表示当前游标所在行的的第2列值,如果是中文则需要处理编码

(6)关闭数据库连接:

 cur.close(); 
 conn.close();

一个完整的案例:

import pymysql 

def connDB(): #连接数据库函数
    conn=pymysql.connect(host='localhost',user='root',passwd='123',db='ere',charset='utf8')
    cur=conn.cursor();
    return (conn,cur);

def exeUpdate(cur,sql):#更新语句,可执行update,insert语句
    sta=cur.execute(sql);
    return(sta);

def exeDelete(cur,IDs): #删除语句,可批量删除
    for eachID in IDs.split(' '):
        sta=cur.execute('delete from relationTriple where tID =%d'% int(eachID));
    return (sta);

def exeQuery(cur,sql):#查询语句
    cur.execute(sql);
    return (cur);

def connClose(conn,cur):#关闭所有连接
    cur.close();
    conn.close();

#调用连接数据库的函数        
conn,cur=connDB();

#调用更新记录的函数
sta=exeUpdate(cur, "insert into relationTriple values(null,'A','B','昵称','无')");
if(sta==1):
    print('插入成功');
else:
    print('插入失败');

#查询现有数据,并打印    
exeQuery(cur, "select * from relationTriple")  ;
for each in cur:
    print(each[0],each[1].decode('utf-8'));

# 批量删除记录,用户输入要删除的记录id号    
tempID=input('请输入要删除的编号 编号之间用空格分开:');
sta=exeDelete(cur, tempID);
if(sta==1):
    print('删除成功');
else:
    print('删除失败');

connClose(conn, cur);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值