当前位置:Gxlcms > 数据库问题 > python操作mysql(三)查询

python操作mysql(三)查询

时间:2021-07-01 10:21:17 帮助过:32人阅读

#_*_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

人气教程排行