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

python操作mysql(三)查询

时间:2017-03-03 19:29:32      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:python mysql

#_*_coding:utf-8_*_
import MySQLdb

DBHOST = "192.168.89.101"
DBUSER = "root"
DBPASSWD ="1qaz#EDC"
DB = "soms"
PORT = 3306
CHARSET = "utf8"

#建立与数据库的连接
conn = MySQLdb.connect(host=DBHOST, user=DBUSER, passwd=DBPASSWD, db=DB, port=PORT, charset=CHARSET)
cur = conn.cursor() #建立游标,Python是通过游标执行SQL语句

#从数据库中查询数据
results = cur.execute("select * from discovery")
print results

结果:

/usr/bin/python2.7 /home/toby/PycharmProjects/SOMS/mysqldb/MysqlConnect.py
2

查询出来了2条记录


返回所有查询结果:

#从数据库中查询数据
cur.execute("select * from discovery")
res = cur.fetchall()
print res

#可以遍历一下
for i in res:
    print i

原来,用cur.execute()从数据库查询出来的东西,被“保存在了cur所能找到的某个地方”,要找出这些被保存的东西,需要用cur.fetchall()(或者fechone等),并且找出来之后,做为对象存在。从上面的实验探讨发现,被保存的对象是一个tuple中,里面的每个元素,都是一个一个的tuple。因此,用for循环就可以一个一个拿出来了。


返回单条查询结果:

#返回单条查询结果
cur.execute("select * from discovery")
print cur.fetchone()

将读取到的数据变成字典形式:

方法很简单,在建立游标的时候,只需传入cursorclass=MySQLdb.cursors.DictCursor 参数
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor) #建立游标,Python是通过游标执行SQL语句
cur.execute("select * from discovery")
res = cur.fetchall()
print res

结果:

/usr/bin/python2.7 /home/toby/PycharmProjects/SOMS/mysqldb/MysqlConnect.py
({‘status‘: u‘True‘, ‘ip‘: u‘192.168.89.3‘, ‘id‘: 1L, ‘port‘: 22L}, {‘status‘: u‘True‘, ‘ip‘: u‘192.168.89.23‘, ‘id‘: 3L, ‘port‘: 22L})




python操作mysql(三)查询

标签:python mysql

原文地址:http://freshair.blog.51cto.com/8272891/1903039

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