python连接mysql数据库实战

本文介绍了一种使用Python操作MySQL数据库的方法,包括从一张表中选取特定字段、处理数据类型问题并更新另一张表的过程。针对手机号码的归属地查询及数据更新,通过逐步调试解决了数据类型不匹配的问题。

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

表一:
表1
表二:
这里写图片描述
需求:
从表一中取出CHEATED_USER,为十一位手机号码,取出前七位,到表二中查询归属地省和市,插入表一。
代码:

#coding=utf-8
import MySQLdb
conn = MySQLdb.connect(
                host='localhost',
                port=3306,
                user='root',
                passwd='root',
                db='ChinaUnicom',
                charset='utf8',
            )
cur = conn.cursor()
sql = "select SUBSTRING(CHEATED_USER,1,7) from t_main_fraud"
cur.execute(sql)
cheated_user = cur.fetchall()
i = 0
for ch in cheated_user:
    i = i + 1
    sql2 = "select province,city from b_tel_ownership where tel = " + str(ch[0])
    cur.execute(sql2)
    province_city =cur.fetchall()
    if province_city:
        sql3 = "UPDATE t_main_fraud SET CHEATED_PROVINCE = '" + province_city[0][0].encode('utf-8') +"'," + "CHEATED_CITY ='"  + province_city[0][1].encode('utf-8') + "' where ID =" + str(i)
        print sql3
        cur.execute(sql3)
cur.close()
conn.commit()
conn.close()

主要问题:
cur取出的数据是long型,并不是具体数据,所以需要对数据进行处理,通过IDE来一步一步断点调试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值