python操作数据库,需要先安装pymysql包,安装方法,见文章:http://blog.csdn.net/lh1963/article/details/52585745
接下来一步一步说明如何操作数据库。
1.引入pymysql
import pymysql
2.建立数据库链接:conn = pymysql.connect(host='255.255.255.255', port=3306, user='user', passwd='123456', db='database', charset='utf8')
其中,host是数据库所在机器的ip,port数据库端口号,user是数据库用户名,passwd是数据库密码,db是数据库名称,charset是数据库的编码
3.获取数据库的游标:cur = conn.cursor()
mysql本身不支持游标(cursor),但是pymysql对Cursor进行了仿真,python通过该游标,对数据库进行命令操作。
4.执行mysql命令:cur.execute(sqlCmd)
5.关闭游标:cur.close()
6.提交操作:conn.commit()
7.关闭数据库链接:conn.close()
其中第3,4,5步是执行一条命令,可在打开数据库链接到提交操作之间,循环调用3,4,5步骤,就可执行多条命令
举例:
import pymysql
import sys
#功能: 更新数据库
argc = len(sys.argv)
if argc < 2:
print('功能: 更新数据库')
print('使用方法:update.py后面直接跟id,多个id之间用空格隔开。\n举例:\n update.py 1 2');
print()
else:
try:
conn = pymysql.connect(host='255.255.255.255', port=3306, user='user', passwd='123456', db='database', charset='utf8')
print('数据库链接成功!!!')
print()
print('开始更新任务状态...')
for i in range(1,argc):
print("任务%d = %s" %(i, sys.argv[i]))
t_ctrtask_sql = "update database.test set status = %d where id = '%s'"
cur = conn.cursor()
cur.execute(t_ctrtask_sql % (0, sys.argv[i]))
cur.close()
print("任务%d = %s更新成功!!!" %(i, sys.argv[i]))
print()
conn.commit()
conn.close()
except Exception as e:
print(e)
finally:
print('执行结束,数据库链接关闭!!!')