【基本思路】
通过本地python脚本,访问远程mysql数据库,并做DDL和DML操作
1 #-*-encoding:UTF-8-*- 2 """ 3 测试Python至MySQL的连接及操作 4 """ 5 6 import MySQLdb 7 8 connstr="""host='134.64.14.48',port=3306,user='root',passwd='*******',db='test'""" 9 #连接字符串10 11 conn=MySQLdb.connect(connstr)12 #创建链接13 mycursor=conn.cursor()14 #获取游标,用游标操作数据库15 16 #创建表17 ctable="""CREATE TABLE test (name VARCHAR(20),id INT(10) primary key)"""18 mycursor.execute(ctable)19 20 #插入数据21 rec1="""INSERT INTO test values('a1',11)"""22 rec2="""INSERT INTO test values('a2',22)"""23 rec3="""INSERT INTO test values('a3',33)"""24 recs=[]25 recs.append(rec1)26 recs.append(rec2)27 recs.append(rec3)28 for insert in recs:29 try:30 mycursor.execute(insert)31 conn.commit()32 except Exception,e:33 print e34 conn.rollback()35 36 conn.close() #关闭链接
mycursor用来执行命令的方法:
callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数 execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数 executemany(self, query, args):执行单条sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数 nextset(self):移动到下一个结果集