Python下MySQL数据库操作

本文详细介绍了Python连接MySQL数据库的基本步骤、编码设置、避免中文乱码的方法,以及常见错误处理,帮助开发者顺利进行数据库操作。

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

Python 简单的MySQL数据库操作

参考链接

1、首先需要下载安装MySQL-python模块
2、数据库的操作流程

Python的DB-API,为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同的方式操作各数据库。

  1. Python DB-API使用流程: 引入 API 模块
  2. 获取与数据库的连接
  3. 执行SQL语句和存储过程
  4. 关闭数据库连接

测试代码:
# -*- encoding: utf-8 -*-

import MySQLdb
testdb=MySQLdb.connect(host="localhost", user = "root", passwd="1234",port = 3306,charset='utf8')
testdb.select_db('test')
cur = testdb.cursor() # 获取游标

Title = "Title test"
PublishTime = "2015-12-15 05:18:00"
Keyword = '乌镇'

sql = "INSERT INTO test.news(Title, PublishTime, Keyword) \
        VALUES (%s,%s,%s)"
try:
    cur.execute(sql,(Title, PublishTime, Keyword))
    testdb.commit()
except Exception,e:
    # Rollback in case there is any error
    testdb.rollback()
    print e
testdb.commit()
# 关闭连接
cur.close()
testdb.close()

连接过程可能出现的问题:
  1. 2003, “Can’t connect to MySQL server on ‘localhost’ (10061)”
    a、该问题的原因有可能是MySQL本地服务的问题,这种情况下只要检查下本地服务中相应的服务有没有开启即可;
    b、另一种情况是由于hosts文件中的设置的localhost对应的IP不对,检查一下,设置为
    127.0.0.1 localhost
    即可,并且将这一行
    ::1 localhost注释掉

  2. 数据库插入、读取中文乱码问题
    需要保证Python代码、连接时候的编码、MySQL设置都为utf8,其中Python中的代码设置为:

# -*- encoding: utf-8 -*-

连接时的编码设置

connect=MySQLdb.connect(host="localhost", user = "root", passwd="1234",port = 3306,charset='utf8')
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江前云后

文章结束的标识:打赏链接

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值