python执行mysql_python执行mysql source命令

近来在看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来执行..

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

Python可以使用pymysql库来连接和操作MySQL数据库。首先,我们需要安装pymysql库,可以通过pip install pymysql命令来安装。 要连接MySQL数据库,我们需要使用pymysql库的connect()函数,并提供数据库的相关信息,例如主机名、端口号、数据库名、字符集、用户名和密码。然后,我们可以使用这个连接对象进行数据库操作。 例如,我们可以定义一个函数mysql_db()来连接数据库和执行操作。在函数中,我们可以使用connect()函数创建连接对象,并使用该对象的cursor()方法获取游标对象。然后,我们可以使用游标对象执行SQL语句,例如插入数据。执行SQL语句后,我们需要使用commit()方法提交更改并关闭连接。如果执行失败,我们可以使用rollback()方法回滚更改。最后,我们需要在try-except-finally块中关闭连接。 下面是一个连接和插入数据的示例代码: ``` python import pymysql def mysql_db(): con = pymysql.connect( host='192.168.223.130', port=3306, database='mysql', charset='utf8', user='root', password='hl' ) try: with con.cursor() as cursor: # 插入一条数据 sql = "insert into help_category(help_category_id, name, parent_category_id, url)value(900,'hl-test01',0,'');" cursor.execute(sql) con.commit() # 提交更改 print("提交成功") except Exception as e: con.rollback() # 回滚更改 print("数据库异常:\n", e) finally: con.close() # 关闭连接 if __name__ == '__main__': mysql_db() ``` 以上代码示例创建了一个连接到MySQL数据库的函数mysql_db(),并插入了一条数据到表help_category中。你可以根据自己的需求修改代码中的数据库信息和SQL语句。记得在执行插入操作后要调用commit()方法提交更改。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python操作mysql数据库](https://blog.csdn.net/caixiangting/article/details/131425049)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值