码迷,mamicode.com
首页 > 数据库 > 详细

Python-mySql操作

时间:2018-03-22 22:42:30      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:pre   gpo   enum   数据   class   enumerate   mysq   用户名   range   

python连接数据库MySQL并操作数据库:

1)首先需要引入模块pymysql,通过pymysql的方法connect传参获得数据库的连接,代码如下:

#db_name-数据库名;db_user-用户名;db_pass-密码;db_host-数据库ip;db_port-数据库端口号;charset-编码
conn = pymysql.connect(db=db_name, user=db_user, passwd=db_pass, host=db_host, port=db_port,charset=utf8)

以上代码注意charset这个参数,不设置改参数的话,对数据库进行操作时有可能会报如下的错误:

‘ordinal not in range(256)

2)连接数据库后,获取游标:

# 获取游标
cursor = conn.cursor()

3)然后可以对数据库进行操作了:

# 1查询
sel_sql = """SELECT * FROM product_class"""
# 执行查询操作
cursor.execute(sel_sql)
# 将返回的结果转换成字典格式
data = [dict((cursor.description[i][0], value) for i, value in enumerate(row)) for row in cursor.fetchall()]
# 关闭游标和数据库链接
cursor.close()
conn.close()

# 2插入
insert_sql = """INSERT INTO product_class(name, is_enable) VALUES (%s, %s);"""
# 执行sql语句
cursor.execute(sql, vars)
# 提交事务
conn.commit()
## 失败可以通过捕获异常后进行回滚
# conn.rollback()
# 关闭游标和数据库链接
cursor.close()
conn.close()

# 3修改更新
update_sql = """UPDATE product_class  SET name=%s, is_enable=%s WHERE id=10000; """
## 同插入操作类似

 

Python-mySql操作

标签:pre   gpo   enum   数据   class   enumerate   mysq   用户名   range   

原文地址:https://www.cnblogs.com/big-xuzhou/p/8626827.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!