私はPythonを初めて使用します。Pythonでデータベースを削除して作成するにはどうすればよいですか?
MySqlとWindowsServer2003を使用しています。
注:私はすべてのクエリを持っています、レコードのドロップ、作成、挿入はすべてinput.sql
そこで、input.sqlをインポートしたいと思います。
誰か助けてもらえますか?
私はPythonを初めて使用します。Pythonでデータベースを削除して作成するにはどうすればよいですか?
MySqlとWindowsServer2003を使用しています。
注:私はすべてのクエリを持っています、レコードのドロップ、作成、挿入はすべてinput.sql
そこで、input.sqlをインポートしたいと思います。
誰か助けてもらえますか?
mysql
クライアントにアクセスできる場合、これは簡単です。
mysql -u username -p database < input.sql
これにより、パスワードの入力が求められます。パスワードをインラインで提供する場合:
mysql -u username -ppassword database < input.sql
モジュールを使用して Python から上記のいずれかを実行しsubprocess
ます。
それほど簡単ではない方法は、ファイルの各行を読み取り、いくつかのロジックを実行して SQL ステートメント全体を取得し、データベースに対して「手動で」実行することですが、これはmysql
コマンドが行っていることを複製するだけです。
import MySQLdb
db = MySQLdb.connect(username="foo",passwd="secret",db="mydb")
c = db.cursor()
with open('input.sql') as f:
for line in f:
proper_sql = some_magic_function(line)
c.execute(proper_sql)
db.commit()