networkx使用笔记(三)之好汉篇MySql(1)
2012-05-12 16:36
225 查看
networkx本身十分强大,但是正所谓一个好汉三个帮,其最得力的助手包括:scipy、numpy和matplotlib,同时在数据转存和清理的过程中,比不可少的还有mysql这个工具了。
1.MySql
第一步,打通Mysql和Python之间的桥梁。其实说白了就是python和mysql之间的使用,网络建模的数据多样复杂,存入mysql方便进一步处理,网上很多对应的MySql在python中的安装(其实也就是库MySQLdb的安装,可以用之前说的easy_install.exe MySQLdb试试;同时之前有一篇博客专门将了一下再windows中安装mysqldb碰到的一些问题),这里就不赘述了,提醒一下,记得下载Navicat,方便查看数据库中的数据和表。毕竟,还是可视化工具用起来舒服。
第二步,python访问mysql。
示例1:基本的数据库连接和插入。说明:利用cursor进行execute一些sql语句,很简单,就像平时写sql语句一样。如果带参数,用python中的列表存储在后面。
http://www.iteye.com/topic/573092
/article/4436254.html
1.MySql
第一步,打通Mysql和Python之间的桥梁。其实说白了就是python和mysql之间的使用,网络建模的数据多样复杂,存入mysql方便进一步处理,网上很多对应的MySql在python中的安装(其实也就是库MySQLdb的安装,可以用之前说的easy_install.exe MySQLdb试试;同时之前有一篇博客专门将了一下再windows中安装mysqldb碰到的一些问题),这里就不赘述了,提醒一下,记得下载Navicat,方便查看数据库中的数据和表。毕竟,还是可视化工具用起来舒服。
第二步,python访问mysql。
示例1:基本的数据库连接和插入。说明:利用cursor进行execute一些sql语句,很简单,就像平时写sql语句一样。如果带参数,用python中的列表存储在后面。
import MySQLdb #建立和数据库系统的连接 conn = MySQLdb.connect(host='localhost', user='root',passwd='longforfreedom') #获取操作游标 cursor = conn.cursor() #执行SQL,创建一个数据库. cursor.execute("create database if not exists python") #选择数据库 conn.select_db('python'); #执行SQL,创建一个数据表. 说明:这里一会儿''一会儿"",发现在python中这两个基本没差别,都是把字符串括起来,暂时没发现问题 cursor.execute("create table test(id int, info varchar(100)) ") value = [1,"inserted ?"] #插入一条记录 cursor.execute("insert into test values(%s,%s)",value); values=[] #生成插入参数值 for i in range(20): values.append((i,'Hello mysqldb, I am recoder ' + str(i))) #插入多条记录 #数据库的插入中,都是%s,好像这是例行处理,都当作string了,但是传入的参数会通过类型转化为相应的数据库类型,然后存入。这个时候记得注意溢出的问题 cursor.executemany("insert into test values(%s,%s) ",values);
#提交事务,写入数据库。本人在此处犯过大错,执行insert后没有commit,执行完毕程序用navicat打开数据库一看啥都没有,后来才发现,是没有commit的原因
conn.commit() #关闭连接,释放资源 conn.close()示例2:数据库的查询
import MySQLdb conn = MySQLdb.connect(host='localhost', user='root', passwd='longforfreedom',db='python') cursor = conn.cursor() #查询test表中id为11的记录,并将记录数目返回给count count = cursor.execute('select * from test where id=%s',11) print '总共有 %s 条记录',count #获取一条记录,每条记录做为一个元组返回 print "只获取一条记录:" result = cursor.fetchone() print result #print 'ID: %s info: %s' % (result[0],result[1]) print 'ID: %s info: %s' % result #获取5条记录,注意由于之前执行有了fetchone(),所以游标已经指到第二条记录了,也就是从第二条开始的所有记录 print "只获取5条记录:" results = cursor.fetchmany(5) for r in results: print r print "获取所有结果:" #重置游标位置,0,为偏移量,mode=absolute | relative,默认为relative, cursor.scroll(0,mode='absolute') #获取所有结果 results = cursor.fetchall() for r in results: print r conn.close()相关参考:
http://www.iteye.com/topic/573092
/article/4436254.html
相关文章推荐
- networkx使用笔记(三)之好汉篇numpy(2)
- networkx使用笔记(三)之好汉篇Matplotlib(4)
- networkx使用笔记(三)之好汉篇Scipy(3)
- 【学习笔记】对Badboy脚本使用MySQL中的数据进行参数化
- mysql中游标的使用案例详解(学习笔记)
- MySQL学习笔记-Keepalived VIP配置使用
- MySql使用笔记,不断更新
- MySQL笔记之索引的使用
- 使用笔记:mysql与oracle进行sql查询时如何表示日期
- MySQL笔记——主键使用的好习惯
- MySQL笔记之数据备份与还原的使用
- mysql使用笔记:相关术语和定义
- mysql使用笔记(四)
- MySQL索引 使用笔记
- Linux下MySQL使用InnoDB引擎笔记
- mysql中使用UDF自动同步memcached效率笔记
- 47.笔记 MySQL学习——使用UNION实现多表检索
- MySQL学习笔记之十六 使用MySQL内建复制功能
- MySQL索引 使用笔记
- networkx使用笔记(五)之实战篇--参数测量