私はデータベースとテーブルを作成しました。 ...ubuntuを通してPostgreSQLのテキストファイルを挿入しますか?
numB2:
numA1:numB1
numA2
表名(A、B、C)
は私も同じようにフォーマットされたテキストファイルを持っています
numAn:numBn
このテキストファイルをtに挿入するにはどうすればよいですか?テーブルを作成し、列Cのすべての行を値に設定しますか?列Cの値は、表全体で同じにする必要があります。
私はデータベースとテーブルを作成しました。 ...ubuntuを通してPostgreSQLのテキストファイルを挿入しますか?
numB2:
numA1:numB1
numA2
表名(A、B、C)
は私も同じようにフォーマットされたテキストファイルを持っています
numAn:numBn
このテキストファイルをtに挿入するにはどうすればよいですか?テーブルを作成し、列Cのすべての行を値に設定しますか?列Cの値は、表全体で同じにする必要があります。
チェックCOPY
:
\copy your_table(c) FROM 'yourPathOnClient/yourFile.txt';
ステップ1:インポートするファイルに一致するテーブルを作成します。
CREATE TABLE csv_data (
colA FLOAT,
colB FLOAT
);
ステップ2:シェルから、STDINを使用してテーブルにデータをコピーします。 (STDINが進むべき道である理由あなたが興味があればthis other questionを参照してください。)
cat YourFile.csv | psql -c "COPY csv_data FROM STDIN (FORMAT CSV, DELIMITER ':', HEADER FALSE);"
ステップ3:データファイルにない列を追加し、それをデフォルト値を与えるを。
ALTER TABLE csv_data ADD COLUMN colC FLOAT DEFAULT 1234.56;
編集:
複数のファイルをインポートする場合:
ステップ1:
CREATE TABLE csv_data_staging (
colA FLOAT,
colB FLOAT
);
CREATE TABLE csv_data (
colA FLOAT,
colB FLOAT,
colC FLOAT
);
ステップ2:
cat YourFile.csv | psql -c "COPY csv_data_staging FROM STDIN (FORMAT CSV, DELIMITER ':', HEADER FALSE);"
2つのテーブルを作成します。
ステップ3:必要に応じて
INSERT INTO csv_data SELECT *, 1234.45 /* The C Value */ FROM csv_data_staging;
TRUNCATE csv_data_staging;
繰り返しが2 & 3を繰り返します。
しかし、別のテキストファイルを同じテーブルに追加したいのですが、別のテキストファイルを追加したいのですが? – Anh
をコピーしてから、c列の値をc列の値に更新してください。 – Bill
しかし、別のテキストファイルを同じテーブルに追加したいのですが、別のテキストファイルを追加したいのですが? – Anh