リレーショナルデータベース(14):MySQLにデータをインポートする

1、mysqlコマンドのインポート

# 使用 mysql 命令导入语法格式为:
mysql -u用户名 -p密码 <  要导入的数据库数据(hanscal.sql)

# 实例:
mysql -uroot -p123456 < hanscal.sql

上記のコマンドは、バックアップされたデータベースhanscal.sql全体をインポートします。


2.ソースコマンドをインポートします

sourceコマンドを使用してデータベースをインポートするには、最初にデータベース端末にログインする必要があります。

mysql> create database hanscal;      # 创建数据库
mysql> use hanscal;                  # 使用已创建的数据库 
mysql> set names utf8;           # 设置编码
mysql> source /home/abc/abc.sql  # 导入备份数据库,文件路径为外磁盘路径

3.LOADDATAを使用してデータをインポートします

LOAD DATA INFILEステートメントは、データを挿入するためにMySQLで提供されています。

# 实例从当前目录中读取文件 dump.txt ,将该文件中的数据插入到当前数据库的 mytbl 表中。
# 如果指定LOCAL关键词,则表明从客户主机上按路径读取文件。如果没有指定,则文件在服务器上按路径读取文件。
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;

列値の区切り記号と行末マーカーは、LOADDATAステートメントで指定できます。デフォルトのマーカーはロケーターと改行です。FIELDS句とLINES句を使用して指定できます。両方の句はオプションですが、両方を指定する場合は、FIELDS句をLINES句の前に表示する必要がありますユーザーがFIELDS句を指定する場合、その句(TERMINATED BY、[OPTIONALLY] ENCLOSED BY、およびESCAPED BY)はオプションですが、ユーザーは少なくとも1つを指定する必要があります。

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl
  -> FIELDS TERMINATED BY ':'
  -> LINES TERMINATED BY '\r\n';

デフォルトでは、LOAD DATAはデータファイルの列の順序でデータを挿入します。データファイルの列が挿入されたテーブルの列と一致しない場合は、列の順序を指定する必要があります。

# 在数据文件中的列顺序是 a,b,c,但在插入表的列顺序为b,c,a,则数据导入语法如下:
mysql> LOAD DATA LOCAL INFILE 'dump.txt' 
    -> INTO TABLE mytbl (b, c, a);

4.mysqlimportを使用してデータをインポートします

mysqlimportクライアントは、LOADDATAINFILEQLステートメントへのコマンドラインインターフェイスを提供します。mysqlimportのほとんどのオプションは、LOADDATAINFILE句に直接対応しています。

# 从文件 dump.txt 中将数据导入到 mytbl 数据表中, 可以使用以下命令:
$ mysqlimport -u root -p --local mytbl dump.txt
# 可以指定选项来设置指定格式,命令语句格式如下:
$ mysqlimport -u root -p --local --fields-terminated-by=":" --lines-terminated-by="\r\n"  mytbl dump.txt
# 使用 --columns 选项来设置列的顺序:
$ mysqlimport -u root -p --local --columns=b,c,a mytbl dump.txt

mysqlimportの一般的なオプションの概要

オプション 特徴
-dまたは--delete 新しいデータをデータテーブルにインポートする前に、データテーブル内のすべての情報を削除してください
-fまたは--force エラーが発生したかどうかに関係なく、データの挿入を強制的に続行します
-iまたは--ignore 同じ一意のキーを持つ行をスキップまたは無視すると、インポートされたファイルのデータは無視されます。
-lまたは-lock-tables データが挿入される前にテーブルがロックされるため、データベースが更新されたときにユーザーのクエリや更新が影響を受けるのを防ぎます。
-rまたは-replace このオプションは、-iオプションの反対です。このオプションは、レコードをテーブル内の同じ一意のキーに置き換えます。
--fields-enclosed- by = char データレコードをテキストファイルで囲む内容を指定します。多くの場合、データは二重引用符で囲まれています。デフォルトでは、データは文字で囲まれていません。
--フィールド-終了-by=char 各データの値の間の区切り文字を指定します。ピリオドで区切られたファイルでは、区切り文字はピリオドです。このオプションを使用して、データ間の区切り文字を指定できます。デフォルトの区切り文字はタブ文字(Tab)です
--行-終了-by=str テキストファイルの行間でデータを区切る文字列または文字を指定します。デフォルトでは、改行が行区切り文字として使用されます。単一の文字を文字列に置き換えることを選択できます:改行またはキャリッジリターン。

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

おすすめ

転載: blog.csdn.net/weixin_43145427/article/details/124227257