1
私のパッケージの構成フォルダ(。inst/config
に格納されている)に.sqlダンプファイルの形式でデータベース構造を格納しています。私はこの機能でダンプをロードする方法をユーザーに示唆しています実際にはRMySQLを使用してプログラムでSQLダンプ・ファイルをロードできますか?
cat 'filename.sql' | mysql -p databasename
:
loaddbstructure <- function(sqlfile = system.file("config/dump.sql",
package="mypackagename", mustWork = TRUE)){
message("This message gives 2 options to load the database structure.\n\n",
"(1) If a user called 'R' is created in MySQL, you can run this from a shell command line: \n",
sprintf("$ cat '%s' | mysql -u R -p tradeflows", sqlfile),
"\n\n",
"(2) Another option is to call this from a mysql client:\n",
"mysql> connect tradeflows;\n",
sprintf("mysql> source %s;", sqlfile))
}
はそれです、私はパスワード入力が必要なコマンドラインを使用している瞬間に ~/.my.cnf
で提供されている資格情報で作成されたデータベース接続を使用して、RMySQLからのコマンドでこの.sqlファイルをプログラムでロードすることは可能ですか?
されています確立されたMySQL接続を使用してLOAD DATA INFILEオプション? https://dev.mysql.com/doc/refman/5.7/en/load-data.html – Riedsio
@Riedsio LOAD DATA INFILEは.sqlファイルをロードすることはできませんが、 '.csv'などのデータファイルのみをロードできます。フィールドの型とインデックスを持つテーブル構造を作成するSQLダンプをロードします。私は間違っていることをうれしく思います。 –
sourceコマンドの使用はどうですか?つまり、mysqlプロンプトから 'source filename.sql'を実行してください – Riedsio