【Python学习】Python连接MySQL

来源:互联网 发布:asp网页 sql数据库 编辑:程序博客网 时间:2024/06/06 17:05

        初学Python,发现Python具有很多脚本的优势,有优秀的函数式编程范式,还有可以使用OOP 的方式,便于快速开发以用于验证算法的准确性。相比于shell脚本,python脚本虽然运行没有那么高效,但是开发成本低,可读性强而易于后期维护。再加上很多成熟的第三方库。python是开发NLP、网络爬虫和数据分析的有力武器。作为初学者,希望能够通过博客,逐步记录自己对python的理解。

 

        数据分析的后期难免需要使用到MySQL,为了快速写个工程,放弃使用JAVA工程和shell脚本,尝试使用Python。如何连接MySQL和获取查询返回的数据就是第一步。直接上代码展示。

#=================='''Created on 2014-12-21  @author: linjx'''#==================import MySQLdbtry:    conn = MySQLdb.connect(host='localhost',                           port=3306,                           user='root',                           passwd='12345',                           db='recommend')cur=conn.cursor()    count = cur.execute('select id, word, conditional_prob_r from word_prob_dist limit 10')    results = cur.fetchall()    print "the total is %s"  %(count)    for r in results:        #r is type of tuple        print r        #use interge to fetch args                 print r[1]    cur.close()    conn.close()except Exception as e:    print e


可以发现,非常简练。

首先,先连接数据库,连接参数主要是数据库主机IP或域名,端口,用户名,密码,还有指定的数据库(可以不指定)。具体参数可参考mysqldb-python-guide

然后使用数据库游标cursor,执行查询语句,通过fetchall获取返回结果集(fetchmany,fetchone可以参考mysqldb-python-guide),关键是返回的数据封装对象是tuple类型,获取相应参数的方式是使用整型下标获取,如例子中展示。


===========

备忘,使用反引号a=`python generateHql.py`可以满足shell获取python的返回值

0 0
原创粉丝点击