問題タブ [load-data-infile]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 定期的にデータをテーブルにロードする最良の方法は何ですか
CSV から毎週更新する必要がある静的テーブルを含むデータベースがあります。テーブルはMysql MyISAMであり、静的とは、読み取り専用に使用されることを意味します(明らかにCVSから更新された場合を除く)。
約 50 のテーブルがあり、合計で約 200 MB のデータが毎週再ロードされます。
私は3つの方法について考えることができます:
- テーブルの切り捨て
- ファイルからデータをロードする
または
- テーブルごとに一時テーブルを作成します
- そこにデータをロードする
- 元のテーブルを切り捨てます (または行を削除しますか?)
- 元のテーブルに挿入 * 一時テーブルから選択します。
または
- table_new を作成し、そこにデータをロードします
- 元のテーブルの名前を table_old に変更します (またはテーブルを完全に削除します)
- table_new の名前を元のテーブルに変更します
最も効率的な方法は何だと思いますか?
sql - mytext ファイルをフォーマットするには?
一連の質問を MYSQL データベース テーブルにロードする必要があります。しかし、テーブルの形式は次のようなものです。 . テキストファイル形式をテーブル形式に一致させるにはどうすればよいですか?
sql - ロード時に列タイプを尊重するために CSV から SQL LOAD DATA を取得するにはどうすればよいですか?
CREATE TABLE
と を使用して CSV ファイルを MySQL (5.1) にロードしていますLOAD DATA
。テキスト型 (カテゴリ) であるが数値を含む列がいくつかあります。テーブルを作成するときにこれらの列を割り当てますVARCHAR(254)
が、JDBC ドライバーは SQLException "行 1 の列 AgeGroup のデータが切り捨てられました" をスローします。
私のデータは次のようになります。
私のテーブル作成ステートメントは次のようになります
私のロードステートメントは次のようになります
AgeGroup はテキスト データベースの列であるため、型変換の問題であると推測していますが、数値のように見えるものを貼り付けています。
LOAD DATA
コマンドに列のデータ型を適用させ、ファイルの内容を変換させるにはどうすればよいですか?
公式の MySQL JDBC ドライバーを使用しています。
sql - MySQL LOAD INFILE を使用して発生するエラーを修正するにはどうすればよいですか?
次の構造の製品テーブルがあります
mysqlLOAD INFILE
コマンドを使用して、区切りデータ ファイルをこのテーブルにインポートします。現在400万件のレコードがあります。を使用してさらにデータをインポートするLOAD INFILE
と、次のエラーが発生します。
エラー 2002 (HY000): ソケット '/var/run/mysqld/mysqld.sock' を介してローカル MySQL サーバーに接続できません (2)
その後、製品テーブルにアクセスできません。
テーブルのパフォーマンスを改善するにはどうすればよいですか? 一部のデータ ファイルのサイズは 100 MB を超えることに注意してください。テーブルにインポートする必要がある別の 400 万のエントリがあります。
これらの問題を回避する方法を提案してください。
ありがとう、スリー
mysql - (SQL)MySQLテーブルの列名を入力ファイルの区切られた最初の行として設定するにはどうすればよいですか?
私のinfileの最初の行は、実際にはファイルで区切られた列の名前です。とにかく、mysqlインポートがファイル内のそれらの列名を使用し、それらの名前でmysqlテーブルに列を作成するために必要がないようにすることはできますか?
mysql - UTF-8 の一括 CSV データを MySQL にインポートする
UTF-8 でエンコードされたデータの約 10K 行を新しい MySQL テーブルにインポートしようとしています。
LOAD DATA INFILE
MySQL Workbenchを使用して正常に実行できますが、UTF-8 文字が壊れてしまいます。それ以外の場合はPHP経由でデータベースをテストしましたが、UTF-8文字を問題なく受け入れます。問題は にあるようでLOAD DATA INFILE
、これに関するいくつかのスレッドに出くわしました。
CSVデータをインポートするための回避策、またはおそらく別の同様の簡単な方法を知っている人はいますか?
ありがとうございました。
解決済み:
これを見て同じ問題を抱えている他の人は、実行時に文字セットをパラメータとして追加してくださいLOAD DATA INFILE
。私が思っていたよりも簡単です:)
database - アラビア語データでの LOAD DATA INFILE の使用
.csv ファイルをテーブルにインポートしようとしています。次のクエリを使用して挿入されたデータを取得する方法を理解しました。
ただし、いくつかのフィールドでは、一連の ? として入力されるアラビア語のコンテンツがあります。これは、データベースを正しく照合していないか、LOAD DATA INFILE クエリを完全に理解していないためだと思います。アドバイスをいただければ幸いです。
SHOW CREATE TABLE コイン。出力は次のとおりです。
mysql - LOAD DATA INFILEを使用してMySQLテーブルにインポートするときにCSVファイルの列をスキップするにはどうすればよいですか?
11列のCSVファイルがあり、9列のMySQLテーブルがあります。
CSVファイルは次のようになります。
MySQLテーブルは次のようになります。
CSVファイルの列1〜8をMySQLテーブルの最初の8列に直接マップする必要があります。次に、CSVファイルの次の2列をスキップして、CSVファイルの列11をMySQLテーブルの列9にマップする必要があります。
現在、次のSQLコマンドを使用しています。
ただし、上記のコードは、CSVファイルの最初の9列をMySQLテーブルの9列にマップします。
mysql - 緯度/経度データを MySQL に正しくインポートする方法は?
次のように、MySQL テーブルにロードした対応する緯度/経度を含む都市名のデータセットを取得しました。
都市 ID | 都市名 | 緯度 DECIMAL(9,6) | 経度 DECIMAL(9,6)
一般的な緯度/経度の座標は、54.284758 / 32.484736 のようになります。
ただし、テーブルに正しく表示されるのはスケール 2 の値のみです。つまり、DECIMAL(5,2) に相当します。データは、UTF-8 の目的で OpenOffice Calc からエクスポートされたテキスト CSV からアップロードされます。OpenOffice には小数に関する問題があることは知っていますが、完全な緯度/経度は確かにエクスポートされた CSV に含まれています。メモ帳でCSVを開くと、データは問題ありません。
誰かが私が間違っているかもしれないことを見ることができますか?
ありがとう。
更新: すべての入力に感謝します。すべてをゼロから再作成し、新しいスキーマ ファイル (ORM を使用しています)、新しい CSV エクスポート、新しいテーブル、新しい LOAD DATA INFILE を作成し、正しい 10 進出力で動作します。私を殴る。
mysql - LOAD DATA INFILE 1レコードのみ挿入
コマンドラインからインポートしようとしている csv ファイルがあります。しかし、挿入されているのは1行だけです。これらはカンマ区切りの値です。Excel Macを使用しているMacを使用しています。csvファイルとして保存します。行が \r または \n またはその両方で終了しているかどうかを確認するにはどうすればよいですか? 使用したコードは次のとおりです。
ありがとう