MySQLインポートデータ
MySQL インポート データ
MySQL によってエクスポートされたデータを MySQL にインポートするには、2 つの簡単な方法があります。
1. Mysql コマンドのインポート
mysql コマンドを使用して構文形式をインポートします:
mysql -u ユーザー名 -p パスワード
上記のコマンドは、バックアップされたデータベース demo.sql 全体をインポートします。
2. インポートするソースコマンド
データベースをインポートするには、まずデータベースターミナルにログインする必要があります: # mysql -uroot -p123456 < demo.sql
3. LOAD DATA を使用してデータをインポートします
LOAD DATA INFILE ステートメントはデータを挿入します。 次の例では、ファイル dump.txt が現在のディレクトリから読み取られ、ファイル内のデータが現在のデータベースの mytbl テーブルに挿入されます。
mysql> create database abc; # 创建数据库 mysql> use abc; # 使用已创建的数据库 mysql> set names utf8; # 设置编码 mysql> source /home/abc/abc.sql # 导入备份数据库LOCAL キーワードが指定されている場合、ファイルがパスに従ってクライアント ホストから読み取られることを示します。指定しない場合、ファイルはサーバー上のパスによって読み取られます。
LOAD DATA ステートメントで列値の区切り記号と行末マーカーを明示的に指定できますが、デフォルトのマーカーはアンカーと改行です。 2 つのコマンドの FIELDS 句と LINES 句の構文は同じです。どちらの句もオプションですが、両方を指定する場合は、FIELDS 句を LINES 句の前に指定する必要があります。
ユーザーが FIELDS 句を指定する場合、その句 (TERMINATED BY、[OPTIONALLY] ENCLOSED BY、および ESCAPED BY) もオプションですが、ユーザーはそのうちの少なくとも 1 つを指定する必要があります。
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;LOAD DATA デフォルトでは、データはデータ ファイルの列の順序で挿入されます。データ ファイルの列が挿入されたテーブルの列と一致しない場合は、列の順序を指定する必要があります。
たとえば、データ ファイル内の列の順序は a、b、c ですが、挿入されたテーブルの列の順序は b、c、a である場合、データ インポートの構文は次のようになります:
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl -> FIELDS TERMINATED BY ':' -> LINES TERMINATED BY '\r\n';
4. mysqlimport を使用してデータをインポートします
mysqlimport クライアントは、LOAD DATA INFILEQL ステートメントのコマンド ライン インターフェイスを提供します。 mysqlimport のほとんどのオプションは LOAD DATA INFILE 句に直接対応します。 ファイル dump.txt から mytbl データ テーブルにデータをインポートするには、次のコマンドを使用できます。
mysql> LOAD DATA LOCAL INFILE 'dump.txt' -> INTO TABLE mytbl (b, c, a);mysqlimport コマンドでは、指定された形式を設定するオプションを指定できます。 コマンド ステートメントの形式は次のとおりです。
$ mysqlimport -u root -p --local database_name dump.txt password *****mysqlimport
$ mysqlimport -u root -p --local --fields-terminated-by=":" \ --lines-terminated-by="\r\n" database_name dump.txt password *****mysqlimport ステートメントの列オプションで -- を使用して列の順序を設定します:
$ mysqlimport -u root -p --local --columns=b,c,a \ database_name dump.txt password ****
mysqlimportの共通オプションの紹介
options | function |
---|---|
-d または --delete | 新しいデータをデータテーブルにインポートする前にデータテーブル内のすべての情報を削除します |
-f または- -force | エラーが発生したかどうかに関係なく、mysqlimport はデータの挿入を強制的に続行します |
-i または --ignore | mysqlimport は、同じ固有のデータを持つデータをスキップまたは無視します インポート ファイル内のデータは無視されます。 |
-l または -lock-tables | データが挿入される前にテーブルをロックすることで、 データベースを更新すると、ユーザーのクエリと更新が影響を受けます。 |
-r または -replace | このオプションは、-i オプションとは逆の効果を持ちます。 テーブル内に同じ一意のキーを持つレコードがあります。 |
--fields-enclosed-by= char | 多くの場合、テキスト ファイル内のデータ レコードを囲む内容を指定します。 データは二重引用符で囲まれます。 デフォルトでは、データは文字で囲まれていません。 |
--fields-terminated- by=char | ピリオドで区切られたファイル内の各データの値の間の区切り文字を指定します。 区切り文字はピリオドです。このオプションを使用して、データ間の区切り文字を指定できます。 デフォルトの区切り文字はタブです |
---lines-Terminated-by = STR | このオプションは、テキスト ファイルの行と行の間のデータ間の分離文字列を指定します。 または文字。 デフォルトでは、mysqlimport は行区切り文字として改行を使用します。必要に応じて、単一の文字を文字列に置き換えることができます。 改行または復帰。 |
mysqlimport コマンドで一般的に使用されるオプションには、バージョン (バージョン) を表示する -v、パスワード (パスワード) の入力を求める -p などが含まれます。
推奨ビデオチュートリアル: