MySQL 最新のマニュアル ...login
MySQL 最新のマニュアル チュートリアル
著者:php.cn  更新時間:2022-04-15 14:04:12

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の共通オプションの紹介

optionsfunction
-d または --delete新しいデータをデータテーブルにインポートする前にデータテーブル内のすべての情報を削除します
-f または- -force エラーが発生したかどうかに関係なく、mysqlimport はデータの挿入を強制的に続行します
-i または --ignoremysqlimport は、同じ固有のデータを持つデータをスキップまたは無視します インポート ファイル内のデータは無視されます。
-l または -lock-tables データが挿入される前にテーブルをロックすることで、 データベースを更新すると、ユーザーのクエリと更新が影響を受けます。
-r または -replaceこのオプションは、-i オプションとは逆の効果を持ちます。 テーブル内に同じ一意のキーを持つレコードがあります。
--fields-enclosed-by= char 多くの場合、テキスト ファイル内のデータ レコードを囲む内容を指定します。 データは二重引用符で囲まれます。 デフォルトでは、データは文字で囲まれていません。
--fields-terminated- by=charピリオドで区切られたファイル内の各データの値の間の区切り文字を指定します。 区切り文字はピリオドです。このオプションを使用して、データ間の区切り文字を指定できます。 デフォルトの区切り文字はタブです
---lines-Terminated-by = STR このオプションは、テキスト ファイルの行と行の間のデータ間の分離文字列を指定します。 または文字。 デフォルトでは、mysqlimport は行区切り文字として改行を使用します。必要に応じて、単一の文字を文字列に置き換えることができます。 改行または復帰。

mysqlimport コマンドで一般的に使用されるオプションには、バージョン (バージョン) を表示する -v、パスワード (パスワード) の入力を求める -p などが含まれます。

推奨ビデオチュートリアル:

PHP中国語ウェブサイト