ienki 发表于 2017-4-22 09:11:00

Python Database学习

  进行程序设计,很容易用到数据库。最近实验室课题要处理大量的文本数据,于是想到了python,顺便学习一下python的数据库编程。这里只是针对mysql(5.0)和sqlserver(2005)的连接性学习,至于深入的学习,以后再看DBAPI吧。

[*]Mysql connection test
  和java要下mysql connection driver一样,python也得下driver才能用,python的mysql driver 叫做MySQLdb,我在sourceForge上下了一个MySQL-python-1.2.2.win32-py2.5.exe。下好后直接安装就行,可能过程中会选择一下python的安装路径。超简单,下面是http://www.devshed.com/上copy的一个例子,如下:
python 代码

[*]# import mysql module   
[*]import MySQLdb   
[*]  
[*]# create a connection   
[*]db = MySQLdb.connect(host='localhost', user='root', passwd='123456', db='test')   
[*]  
[*]# create a cursor   
[*]cursor = db.cursor()   
[*]  
[*]# execute sql statement   
[*]cursor.execute('select * from node')   
[*]  
[*]# get result set   
[*]# fetchall() return a tuple that contains results as tuples   
[*]# inner tuple represent a row of the result set   
[*]result = cursor.fetchall()   
[*]for record in result:   
[*]    print record   
[*]  
[*]# close the connection   
[*]db.close()  

  输出结果是:(test是我建的一个测试表,字段有id(主键)、name、gender)
sql 代码

[*]>>>    
[*](1L, 'Jeff', 'M')   
[*](2L, 'Ed', 'F')   
[*](3L, 'Christiaan', 'F')   
[*](4L, 'yangsq', 'M')   
[*](5L, 'Adam', 'M')   
[*](6L, 'Cynthia', 'M')   
[*](7L, 'Joylette', 'F')   
[*](8L, 'Amanda', 'M')   
[*](9L, 'Nathaniel', 'M')   
[*](10L, 'Bryan', 'M')  


[*]SqlServer connection test
  同样,下driver先,还是sourceForge,名字叫pymssql,我下的是pymssql-0.8.0.win32-py2.5.exe,安装和mysql的一样。下面是链接测试代码:
python 代码

[*]import pymssql   
[*]  
[*]con = pymssql.connect(host='59.64.159.50', user='sa', password='admin233', database='test')   
[*]cur = con.cursor()   
[*]  
[*]query = 'select top 100 * from demo'   
[*]cur.execute(query)   
[*]  
[*]result = cur.fetchall()   
[*]for record in result:   
[*]    print record   
[*]  
[*]con.close()  

  上面的代码看起来和mysql的没啥区别,结果就不帖了。
  至于其他数据库,还没用到,先不学了。python还提供了更多关于数据库方面的支持,以后再说吧。
页: [1]
查看完整版本: Python Database学习