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などです。