用python编写与mysql数据库连接并实现断线重连的问题

用python编写与mysql数据库连接并实现断线重连的问题,第1张

conn本来 就已经被你定义成了 函数, connping()当然不存在了。而且你要的数据库连接c,还被手动关闭了。我觉得有两点

1 按照你这个脚本的情况,你用一次,就新建一个数据库连接问题应该不大。

2 要保持使用一个连接的话。把c作全局变量 c=MySQLdbconnect(user="root",passwd="12345",host="localhost",db="yingtest")

使用的时候,直接用c但是不要close,当然要先判断这个连接是否已经断开了,如是再重新连一次。

或者把连接放到一个连接池里面,用的时候直接去连接池里面取。连接池可以看看 DBUtils模块

你说的connping() 看看是不是在c里面,c=MySQLdbconnect(user="root",passwd="12345",host="localhost",db="yingtest")就是这个对象里面,看看有没有判断连接是否断开的方法。 因为没用过 MySQLdb模块。

MySQLdbconnect是python 连接MySQL数据库的方法,在Python中 import MySQLdb即可使用,至于connect中的参数很简单:

host:MySQL服务器名

user:数据库使用者

password:用户登录密码

db: *** 作的数据库名

charset:使用的字符集(一般是gb2312)

cursor = dbcursor() 其实就是用来获得python执行Mysql命令的方法,也就是

我们所说的 *** 作游标

下面cursorexecute则是真正执行MySQL语句,即查询TABLE_PARAMS表的数据。

至于fetchall()则是接收全部的返回结果行 row就是在python中定义的一个变量,用来接收返回结果行的每行数据。同样后面的r也是一个变量,用来接收row中的每个字符,如果写成C的形式就更好理解了

for(string row = ''; row<= cursorfetchall(): row++)

for(char r = ''; r<= row; r++)

printf("%c", r);

#-- coding: utf-8 --

import MySQLdb, datetime, time

#code数字含义

code_mean = {10:"开始下载(10)",

11:"下载完成(11)",

12:"安装界面(12)",

13:"安装成功(13)",

14:"启动游戏(14)",

16:"更新开始(16)"}

#Networktype数字含义

network_type_mean = {1:"3G 网络",

2:"2G 网络",

3:"WIFI网络"}

#当前测试人员拥有手机

phonelist = {1:"0049990", 2:"8689430", 3:"3558680"}

#当前系统时间

nowtime = (datetimedatetimefromtimestamp(timetime())strftime('%Y-%m-%d %H:%M:%S'))

print "当前时间:" + nowtime

today = str(nowtime)split()[0]

#去除日期

HMS = nowtimesplit()[1]

print "目前测试人员拥有的手机如下:"

print "HTC :1"

print "HTC :2"

print "HUAWEI :3"

phont_imei = raw_input("请选择你要查询的手机,输入上列手机对应的数字即可:")

time_start = raw_input("请输入需要查询的起始时间(格式如后:" + HMS + ",默认日期为今天): ")

imei = phonelist[int(phont_imei)]#-- coding: utf-8 --

import MySQLdb, datetime, time

#code数字含义

code_mean = {10:"开始下载(10)",

11:"下载完成(11)",

12:"安装界面(12)",

13:"安装成功(13)",

14:"启动游戏(14)",

16:"更新开始(16)"}

#Networktype数字含义

network_type_mean = {1:"3G 网络",

2:"2G 网络",

3:"WIFI网络"}

#当前测试人员拥有手机

phonelist = {1:"0049990", 2:"8689430", 3:"3558680"}

#当前系统时间

nowtime = (datetimedatetimefromtimestamp(timetime())strftime('%Y-%m-%d %H:%M:%S'))

print "当前时间:" + nowtime

today = str(nowtime)split()[0]

#去除日期

HMS = nowtimesplit()[1]

print "目前测试人员拥有的手机如下:"

print "HTC :1"

print "HTC :2"

print "HUAWEI :3"

phont_imei = raw_input("请选择你要查询的手机,输入上列手机对应的数字即可:")

time_start = raw_input("请输入需要查询的起始时间(格式如后:" + HMS + ",默认日期为今天): ")

imei = phonelist[int(phont_imei)]

具体步骤:

序号 描述

1 去github上下载pymysql的安装包pymysql

2 解压到某个盘符下

3 打开cmd窗口(win环境下),进入pymysql的根目录下执行命令,python setuppy install

4 在程序里,导入pymysql

5 开始连接数据库

数据库 *** 作的API文档连接:

1、python安装目录设定为d:/python34

2、pymysql安装方法为:解压下载的文件,在cmd中运行: python setuppy install。

检验安装安装是否成功的方法:import pymysql 。 如果不报错 说明安装成功。

3、mysql安装目录为D:/phpStudy/MySQL。为避免更多配置问题,可在启动phpstudy后,将其设为系统服务

4、基本 *** 作:

(1)导入pymysql: import pymysql

(2)连接数据库:

conn=pymysqlconnect(host='localhost',user='root',passwd='root',db='ere',charset='utf8')

务必注意各等号前面的内容!charset参数可避免中文乱码

(3)获取 *** 作游标:cur=conncursor()

(4)执行sql语句,插入记录:sta=curexecute("insert 语句") 执行成功后sta值为1。更新、删除语句与此类似。

(5)执行sql语句,查询记录:curexecute("select语句") 执行成功后cur变量中保存了查询结果记录集,然后再用循环打印结果:

for each in cur:

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

具体步骤: 序号 描述 1 去github上下载pymysql的安装包pymysql 2 解压到某个盘符下 3 打开cmd窗口(win环境下),进入pymysql的根目录下执行命令,python setuppy install 4 在程序里,导入pymysql 5 开始连接数据库 数据库 *** 作的API文档连接:

以上就是关于用python编写与mysql数据库连接并实现断线重连的问题全部的内容,包括:用python编写与mysql数据库连接并实现断线重连的问题、Python数据库连接以及游标关闭问题、python连接数据库查询判断是否有记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9860583.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存