去装一个 pymsql包
然后
import pymysql #导入pymsql模块 #链接数据库,注意port是int型,不是str,所以不要用引号conn = pymysqlconnect( user='root', password='root', host='127001', port=3306, database='test_demo', use_unicode=True, charset="utf8" )#获取游标cursor = conncursor()#插入数据,注意看有变量的时候格式cursorexecute("INSERT INTO tieba_user(`uuid`,`user_name`,`user_rank`,`user_level`,`level_status`,`tieba_name`) VALUES (%s,%s,%s,%s,%s,%s)", (user_id, user_name, user_rank, user_level, level_statu, tieba_name))#提交conncommit()#关闭连接cursorclose()
类似这样
错误原因:
元祖的索引必须是整数或者切片,不能是字符,通过pymysql访问数据库,并查询数据
解决方法:
把Cursor关键字替换成DictCursor关键字。
ictCursor的这个功能是继承于CursorDictRowsMixIn,在默认情况下cursor方法返回的是BaseCursor类型对象,BaseCursor类型对象在执行查询后每条记录的结果以列表(list)表示。如果要返回字典(dict)表示的记录,就要设置cursorclass参数为MySQLdbcursorsDictCursor类。
这个参数也可在调用connect方法建立连接时设置,如下:
>>> conn = MySQLdbconnect(host='1921681103', port=3306, user='testacc', pass
wd='test1234', db='1dcq', cursorclass=MySQLdbcursorsDictCursor)
>>>connclose()
例子:
>>> import MySQLdb
>>> conn = MySQLdbconnect(host='1921681103', port=3306, user='testacc',
passwd='test1234', db='1dcq')
>>> cursor = conncursor()
>>> cursorexecute('SELECT FROM pagesobject LIMIT 0, 1')
可以使用 pymysql 模块读取数据库数据
以下代码运行通过:
import pymysql pymysqlinstall_as_MySQLdb()import MySQLdb conn = MySQLdbConnection(host='10211556', user='root', passwd='123456', port=3306, database='lucia_sqltest', charset='gbk')cursor = conncursor() # 获取一个游标sql = 'select from users'cursorexecute(sql)data = cursorfetchall()for d in data: # 注意 int 类型需要使用 str 函数转义 print("id: " + str(d[0]) + ' username: ' + d[1] + " password: " + d[2])
运行效果:
到python官方网站下载最新python程序。根据系统有32,64位。
直接下一步,就可以安装成功。
在python官网中去下载ez_setuppy文件。
此工具是python管理包工具,通过它可以下载很多服务。
请根据系统下载相关文件。
在python中执行python ez_setuppy文件,如果没有配置环境变量,可以在python安装路径中找到pythonexe,在此目录中执行上面命令。
命令执行成功后,会在python安装目录下easy_installexe工具包。
在CMD命令行执行:easy_installexe pymysql3
如果找不到该命令,切换服务到python安装目录/Scripts/下执行。如果此目录下没有easy_installexe,证明上一步没有安装成功。
安装pymysql3服务如下。
pymysql3服务安装成功后,开始写python程序连接mysql服务。
mysql数据库安装在此省略,到mysql官方网站下载,下一步安装就可以了。
python程序内容如下:import pymysql
conn = pymysqlconnect(user='root', passwd='root',
host='localhost', db='zjctest')
cur = conncursor()
curexecute("SELECT FROM zjc")
for r in cur:
print("row_number:" , (currownumber) )
print("id:"+str(r[0])+"name:"+str(r[1])+"age:"+str(r[2]))
curclose()
connclose()
执行结果如下,证明连接mysql数据库成功,且数据正确返回。
以上就是关于pymysql如何逐条读取数据全部的内容,包括:pymysql如何逐条读取数据、python 报错TypeError: tuple indices must be integers or slices, not str 怎么解决、pymysql怎么逐条读取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)