您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

python执行mysql source命令

2024/2/26 4:36:48发布23次查看
近来在看python,于是,将某个shell实现过的功能用python实现下
1 python 操作mysql 需要有 mysqldb 这个库的支持,一般需要单独安装
2 mysqldb库只能执行sql语句,对于sql文件执行,比较麻烦,所以用了subprocess库的方法popen
相关mysql视频教程推荐:《mysql教程》
import mysqldb from subprocess import popen,pipe sqlta = "/usr/local/webserver/scripts/ta.sql" sqlclita = "/usr/local/webserver/scripts/clita.sql" platform = raw_input('please enter platform:') server = raw_input('please enter server:') logta = "logta_"+platform+"_"+server logclita = "logclita_"+platform+"_"+server host = "192.168.0.1" usr = "admin" passwd = "admin8sqbl" port = 3303 try: conn = mysqldb.connect(host=host,user=usr,passwd=passwd,port=port) cur = conn.cursor() cur.execute('create database if not exists '+logta) cur.execute('create database if not exists '+logclita) cur.close() conn.close() except mysqldb.error,e: print "mysql error %d: %s" % (e.args[0], e.args[1]) process = popen('/usr/local/webserver/mysql/bin/mysql -h%s -p%s -u%s -p%s %s' %(host, port, usr, passwd, logta), stdout=pipe, stdin=pipe, shell=true) output = process.communicate('source '+sqlta) process = popen('/usr/local/webserver/mysql/bin/mysql -h%s -p%s -u%s -p%s %s' %(host, port, usr, passwd, logclita), stdout=pipe, stdin=pipe, shell=true) output = process.communicate('source '+sqlclita)
相当于用mysqldb库创建了数据库,然后用popen,进行sql文件的执行操作。popen()函数相当于用shell来执行..
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product