0

私はPythonを初めて使用します。Pythonでデータベースを削除して作成するにはどうすればよいですか?

MySqlとWindowsServer2003を使用しています。

注:私はすべてのクエリを持っています、レコードのドロップ、作成、挿入はすべてinput.sql

そこで、input.sqlをインポートしたいと思います。

誰か助けてもらえますか?

4

1 に答える 1

2

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()
于 2012-08-26T10:19:29.810 に答える