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])
原文地址:https://www.cnblogs.com/phoenix13suns/p/2862645.html