在iPython中植入MySQLdb

  1. ###操作前的准备####
  2. importMySQLdb
  3. conn=MySQLdb.connect(host="localhost",user="root",passwd="619523",db="zx_wor",charset="utf8")##利用MySQLdb建立一个连接对象conn;
  4. cur=conn.cursor()##利用连接对象得到游标对象cur;

连接对象常用的方法

commit() 如果数据库表进行了修改,提交保存当前的数据。当然,如果此用户没有权限就作罢了,什么也不会发生。
rollback() 如果有权限,就取消当前的操作,否则报错
cursor([cursorclass]) 返回连接的游标对象。通过游标执行 SQL 查询并检查结果。游标比连接支持更多的方法,而且可能在程序中更好用
 close() 关闭连接。此后,连接对象和游标都不再可用了

 

此后,就可以通过操作游标对象cur对数据库进行操作,常用的游标对象的操作方法

 

close()  关闭游标。之后游标不可用
execute(query[,args]) 执行一条 SQL 语句,可以带参数
executemany(query, pseq) 对序列 pseq 中的每个参数执行 sql 语句
fetchone()  返回一条查询结果
fetchall() 返回所有查询结果
fetchmany([size])  返回 size 条结果
nextset()  移动到下一个结果
scroll(value,mode='relative') 移动游标到指定行,如果 mode='relative',则表示从当前所在行移动 value 条,如果 mode='absolute',则表示从结果集的第一行移动 value

查询:

 

  1. cur.execute('select Name,Continent,Population,LifeExpectancy,GNP from country')
  2. cur.fetchall()##得到的是一个元组,里面的元素是一个个的元组

 

原来,用 cur.execute() 从数据库查询出来的东西,被“保存在了 cur 所能找到的某个地方”,要找出这些被保存的东西,需要用 cur.fetchall()(或者 fechone 等),并且找出来之后,做为对象存在。从上面的实验探讨发

现,被保存的对象是一个 tuple 中,里面的每个元素,都是一个一个的 tuple。因此,用 for 循环就可以一个一个拿出来了。

使用Pandas的DataFrame来处理每一行要比使用一个包含元组的元组方便。下面的Python代码片段将所有行转化为DataFrame实例:

 

 

 

 

 

 

 

 

 

 

posted on 2017-02-21 14:32  zx0801  阅读(1440)  评论(0编辑  收藏  举报