python操作mysql

http://ianhowson.com/a-quick-guide-to-using-mysql-in-python.html

http://zetcode.com/db/mysqlpython/

1. python 连接mysql

首先要安装MySQLdb模块

http://sourceforge.net/projects/mysql-python/

 

一个最简单的例子,连接mysql

http://www.cnblogs.com/rollenholt/archive/2012/05/29/2524327.html    python操作MySQL数据库

host不要用localhost用127.0.0.1否则可能会出错

http://stackoverflow.com/questions/11121819/mysqldb-in-python-cant-connect-to-mysql-server-on-localhost

import MySQLdb

 

try:

    conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='root',db='test',port=3306) #打开连接

    cur=conn.cursor()  #打开游标
   cur.execute('set names gb2312;') cur.
execute('select * from user') #select 返回的是结果的行数 cur.close() conn.close() except MySQLdb.Error,e: print "Mysql Error %d: %s" % (e.args[0], e.args[1])

  2.选择数据库  select_db()

conn.select_db('mytest') 

 3. 用cursor来接收返回值,fetch()。

注意fecth一条数据之后游标就会向后移动到下一条。

result=cur.fetchone()  #fetch one 提取一条数据



result=cur.fetchmany(10) #fetch many 提取多条数据

result=cur.fetchall() # fetch all 提取所有数据

 

cur.scroll(2,mode='relative') #向下移动2行,relative 从当前行开始



cur.scroll(2,mode='absolute') #absolute 从第一行开始

 

4. cursor用来执行命令的方法

callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数
execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数
executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数
nextset(self):移动到下一个结果集

http://www.cnblogs.com/xiaowuyi/archive/2012/11/07/2758589.html    execute()和executemany()区别

 

5. insert update 等操作要commit

try:

    conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='123',db='twitter',port=3306)

    cur=conn.cursor()

    cur.execute('set names utf8;')

    p=999999

    #p=1740125640

    pp=str(p)

    cur.execute('insert into tuser values ( '+pp+', 0 , 0 )')

    conn.commit()

    cur.execute('select * from tuser')

    result=cur.fetchall()

    for e in result:

        print e

    conn.close()



except MySQLdb.Error,e:

     print "Mysql Error %d: %s" % (e.args[0], e.args[1])

 

你可能感兴趣的:(python)