タブ区切りテキスト等の外部ファイルをMySQLのDB/テーブルに読み込む方法について、MySQL.com Documentation から要点のみを抽出してメモってみました。今まとめておかないと速攻で忘却の彼方に葬ってしまいそうなので。一応、現時点で最新バージョンの MySQL 4.1.x 系を前提に話を進めていますが、特記がない限りはバージョン 3.x - 4.0.x でも問題無く通用するかと思われます。あと、MySQL.com Documentation は英語版の引用を用いてメモってますが、あるいは日本語版のDocumentationの該当箇所をざーっと最初から最後まで読んだ方が全体的な理解は早いかもしれません... (日本語版は、決して英語版Documentationの忠実な翻訳では無い ...って事に気づいてから、ヘンなこだわりもってます)。 項目一覧 概要 LOAD DATA
テキストファイルに用意したデータをテーブルに読み込むには、 mysqlimport コマンドで次のように実行します。 $ mysqlimport [options] データベース名 ファイル名1 [ファイル名2 ....] このコマンドは、ファイル名と同じ名前のテーブルにデータを読み込みます。 ファイル名に指定した拡張子は無視されますので、任意の拡張子を付けることができます。 テキストファイルは、データの区切りをタブ、1レコードの終わりをLFがデフォルトになっています。 また、テキストファイルでNULLをあらわすには、 \N を使用します。 LOAD DATA LOCAL でエラーを発生する場合、コンパイル時の –enable-local-infile オプションを 疑ってみてください。 mysql クライアントに対しては、 –local-infile[=1] オプションでLOAD DAT
MySQLからCSV出力したいって要件なんですが、Excelで読むには文字コードがShift-JISである必要があります。これを全てLinuxで行う手順です。 エクスポート手順 データベースの全テーブルをCSVエクスポート mysqldump -u root -p --tab=/tmp --fields-terminated-by=, --fields-optionally-enclosed-by=\" --lines-terminated-by="\r\n" database --tabは出力ファイルの保存先ディレクトリ 保存先はMySQLのあるサーバー内になるので注意 --fields-terminated-by はフィールド区切りの指定 --fields-optionally-enclosed-by は文字列の囲み指定 --lines-terminated-by は改行の指定 DB内
mysql関連の勉強を書籍「MySQL 逆引き大全 460の極意」で 勉強していたのだけど、 CSV形式やTSV形式のファイルを指定したデータベースのテーブルにインサートするコマンド で、ちょっと戸惑ったのでメモしておきます (*^▽^*) データベースを作成して mysqladmin -u root -p CREATE wings テーブルを作成 mysql -u root -p -D wings \e CREATE TABLE animal ( id INT, name VARCHAR(30), PRIMARY KEY(id) ); \p 外部エディタのコマンドを確認 \g 保留中のコマンドを実行する exit; mysqlimport -p root -u --field-terminated-by="," wings animal.txt としたが mysqlimport: Er
MYSQLでの「CSVファイル」の入出力(インポート、エクスポート)方法について記載しています。 Windows、Linuxのどちらの環境でもファイルパスの記載が変わるだけでコマンドは同一になります。 入力 LOAD DATA INFILE 「,」などで区切られたCSVファイルを用意することにより、MySQLに高速にデータを入力することができます。 文字の囲み文字が「”」のときの使用例です。 囲み文字が必要ないときはENCLOSED BY ‘”‘を外します。 構文 LOAD DATA INFILE "ファイル名" INTO TABLE テーブル名 FIELDS TERMINATED BY ',区切り文字' ENCLOSED BY '"';
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く