Python使用MySQLdb操作MySQL

bcbeer 2014-01-06

import MySQLdb,sys

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

except Exception,e:
    print e
    sys.exit(0)
    
cursor=conn.cursor()
try:#Add
    cursor.execute("insert into table1(name,address,year) values('Jack2','ddd','2011-5-8')")    
    cursor.execute("insert into table1(id,name,address,year) values(%d,'%s','%s','%s')"%(99,"Jack","USA","1990-9-9"))    #注意,这里是'%s'是带单引号的!!!
except Exception,e:
    print e
try:#Delete
    cursor.execute("delete from table1 where name='Jack2'") 
except Exception,e:
    print e  
try:#Change
    cursor.execute("update table1 set name='YY' where address='XiAn'")
except Exception, e:
    print e

try:#AddMulti
    sql="insert into table1(name,address,year) values(%s,%s,%s)"     #而这里是%s,不带单引号的。数字怎么处理。我写个%d,在下面分别写上数字编号6,,6,666却显示错误。
    var=(("Bu1","Japan","2011-1-1"),("Bu2","Japan","2011-1-2"),("Bu3","Japan","2011-1-3"))
    cursor.executemany(sql,var)
except Exception,e:
    print e    
sql="select * from table1"
try:#Search
    cursor.execute(sql)
except Exception,e:
    print e
rows=cursor.fetchall()
if rows:
    for item in rows:
        print item[0],item[1],item[2],item[3]

cursor.close()
conn.close()

相关推荐