MySQL CLI 経由でTiDB Cloudにデータをインポートする
このドキュメントでは、 MySQL コマンドラインクライアントを介してTiDB Cloudにデータをインポートする方法について説明します。SQL ファイルまたは CSV ファイルからデータをインポートできます。次のセクションでは、各ファイル タイプからデータをインポートするための手順を順を追って説明します。
前提条件
MySQL CLI 経由でTiDB Cloudにデータをインポートするには、次の前提条件を満たす必要があります。
- TiDB Cloudクラスターにアクセスできます。TiDB クラスターがない場合は、 TiDB Cloudサーバーレスクラスタを構築するの手順に従って作成してください。
- ローカル コンピュータに MySQL CLI をインストールします。
ステップ1. TiDB Cloudクラスターに接続する
選択した TiDB デプロイメント オプションに応じて、TiDB クラスターに接続します。
- TiDB Cloud Serverless
- TiDB Cloud Dedicated
クラスターページに移動し、ターゲット クラスターの名前をクリックして概要ページに移動します。
右上隅の「接続」をクリックします。接続ダイアログが表示されます。
接続ダイアログの構成が動作環境と一致していることを確認します。
- 接続タイプは
Public
に設定されています。 - Connect With は
MySQL CLI
に設定されています。 - オペレーティング システムは環境に適合します。
- 接続タイプは
ランダムなパスワードを作成するには、 「パスワードの生成」をクリックします。
ヒント:
以前にパスワードを作成したことがある場合は、元のパスワードを使用するか、 「パスワードのリセット」をクリックして新しいパスワードを生成します。
クラスターページに移動し、ターゲット クラスターの名前をクリックして概要ページに移動します。
右上隅の「接続」をクリックします。接続ダイアログが表示されます。
[どこからでもアクセスを許可]をクリックします。
接続文字列を取得する方法の詳細については、 パブリック接続経由でTiDB Cloud Dedicatedに接続する参照してください。
ステップ2. テーブルを定義し、サンプルデータを挿入する
データをインポートする前に、テーブル構造を準備し、実際のサンプルデータを挿入する必要があります。以下は、テーブルを作成してサンプルデータを挿入するために使用できるサンプルSQLファイル( product_data.sql
)です。
-- Create a table in your TiDB database
CREATE TABLE products (
product_id INT PRIMARY KEY,
product_name VARCHAR(255),
price DECIMAL(10, 2)
);
-- Insert sample data into the table
INSERT INTO products (product_id, product_name, price) VALUES
(1, 'Laptop', 999.99),
(2, 'Smartphone', 499.99),
(3, 'Tablet', 299.99);
ステップ3. SQLまたはCSVファイルからデータをインポートする
SQL ファイルまたは CSV ファイルからデータをインポートできます。次のセクションでは、各タイプからデータをインポートする手順を順を追って説明します。
- From an SQL file
- From a CSV file
SQL ファイルからデータをインポートするには、次の手順を実行します。
インポートするデータを含む実際の SQL ファイル (たとえば、
product_data.sql
) を指定します。この SQL ファイルには、実際のデータを含むINSERT
ステートメントが含まれている必要があります。SQL ファイルからデータをインポートするには、次のコマンドを使用します。
mysql --comments --connect-timeout 150 -u '<your_username>' -h <your_cluster_host> -P 4000 -D test --ssl-mode=VERIFY_IDENTITY --ssl-ca=<your_ca_path> -p <your_password> < product_data.sql
注記:
ここで使用されるデフォルトのデータベース名は
test
ですが、手動で独自のデータベースを作成することも、SQL ファイルでCREATE DATABASE
コマンドを使用することもできます。
CSV ファイルからデータをインポートするには、次の手順を実行します。
データのインポートのニーズに合わせて、TiDB でデータベースとスキーマを作成します。
インポートするデータを含むサンプル CSV ファイル (例:
product_data.csv
) を提供します。次に、CSV ファイルの例を示します。製品データ.csv:
product_id,product_name,price 4,Laptop,999.99 5,Smartphone,499.99 6,Tablet,299.99CSV ファイルからデータをインポートするには、次のコマンドを使用します。
mysql --comments --connect-timeout 150 -u '<your_username>' -h <your_host> -P 4000 -D test --ssl-mode=VERIFY_IDENTITY --ssl-ca=<your_ca_path> -p<your_password> -e "LOAD DATA LOCAL INFILE '<your_csv_path>' INTO TABLE products FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES (product_id, product_name, price);"パス、テーブル名 (この例では
products
)、<your_username>
、<your_host>
、<your_password>
、<your_csv_path>
、<your_ca_path>
、およびその他のプレースホルダーを実際の情報に置き換え、必要に応じてサンプル CSV データを実際のデータセットに置き換えてください。
注記:
LOAD DATA LOCAL INFILE
構文の詳細については、LOAD DATA
参照してください。