MySQLテーブルデータの導入導出操作例
この例は、MySQLテーブルデータの導入導出動作を説明する。皆さんに参考にしてあげます。具体的には以下の通りです。
データエクスポート
1. SELECT...INTO OUTFILE...コマンドを使ってデータをエクスポートします。具体的な文法は以下の通りです。
FIEDS TEMINATED BY'string'(文字分割子)
FIEDS[OPTTIONALLY]ENCLOSD BY'CHAR'(フィールド参照子、OPTTIONAオプションを追加するとchar、varrhar、textなどの文字型フィールドにのみ使用されます。デフォルトでは引用符は使用されません。)
FIEDS EXCAPED BY'CAHR'(デフォルトは''')
LINE START ING BY'string'(行毎にこの文字列を追加します。デフォルト''
LINE TERMNATED BY'string'
ここで、charはこの記号が単一の文字しかないことを示し、stringは文字列であってもよい。
Example:testテーブルのすべてのデータmysqlをエクスポートします。select*from test into outfile'/path/files.txt'
2.mysqldumpでデータをテキストにエクスポートする
データのインポート
SELECT…INTO OUTFILEまたはmysqldumpで導出した純粋なデータテキストの導入方法だけを検討します。
1.「LOAD DATA INFILE…」を使う
テーブルデータをクリア
delete from表名
truncateテーブル名;
whereパラメータを持たないdelete文はmysql表のすべての内容を削除できます。truncate tableを使ってもmysql表のすべての内容をクリアできます。
効率的にはtruncateがdeleteより速いですが、truncateが削除された後にmysqlログを記録しないと、データを回復できません。
deleteの効果はmysql表の全ての記録を一つずつ削除してしまいます。
truncateはmysqlテーブルを保持する構造に相当します。この表を新たに作成しました。すべての状態は新しい表に相当します。
MySQLに関する詳細について興味がある読者は、本駅のテーマを見ることができます。「MySQLクエリ技術大全書」「MySQL事務操作技術まとめ」「MySQL記憶プロセス技術大全」「MySQLデータベースのロックに関するスキルのまとめ」「MySQL常用関数大まとめ」
この記事が皆様のMySQLデータベース計に役立つことを期待します。
データエクスポート
1. SELECT...INTO OUTFILE...コマンドを使ってデータをエクスポートします。具体的な文法は以下の通りです。
mysql> SELECT * FROM tablename INTO OUTFILE 'target_file' [option];
ここでoptionパラメータは、以下のオプションであり得る。FIEDS TEMINATED BY'string'(文字分割子)
FIEDS[OPTTIONALLY]ENCLOSD BY'CHAR'(フィールド参照子、OPTTIONAオプションを追加するとchar、varrhar、textなどの文字型フィールドにのみ使用されます。デフォルトでは引用符は使用されません。)
FIEDS EXCAPED BY'CAHR'(デフォルトは''')
LINE START ING BY'string'(行毎にこの文字列を追加します。デフォルト''
LINE TERMNATED BY'string'
ここで、charはこの記号が単一の文字しかないことを示し、stringは文字列であってもよい。
Example:testテーブルのすべてのデータmysqlをエクスポートします。select*from test into outfile'/path/files.txt'
2.mysqldumpでデータをテキストにエクスポートする
mysqldump -u username -T target_dir dbname tablename [option]
option :
--fields-terminated-by=name( );
--fields-enclosed-by=name( );
--fields-optionally-enclosed-by=name( , char、varchar text );
--fields-escaped-by=name( );
--lines-terminated-by=name( )。
Example: test custom mysqldump -uroot -T /tmp test custom
データファイルのcustom.txtを生成する以外に、一つのcustom.sqlファイルを生成して、中に記録しました。 customテーブルの作成スクリプトです。データのインポート
SELECT…INTO OUTFILEまたはmysqldumpで導出した純粋なデータテキストの導入方法だけを検討します。
1.「LOAD DATA INFILE…」を使う
mysql > LOAD DATA [LOCAL] INFILE 'filename' into TABLE tablename [option]
option :
¡ FIELDS TERMINATED BY 'string'( , '\t');
¡ FIELDS [OPTIONALLY] ENCLOSED BY 'char'( , OPTIONALLY char、varchar text 。 );
ESCAPED BY 'char'( , '\'); STARTING BY 'string'( , ''); TERMINATED BY 'string'( , '
');
¡ FIELDS
¡ LINES
¡ LINES
¡ IGNORE number LINES( n );
¡ (col_name_or_user_var,...) ( ); ¡ SET col_name = expr,... 。
char ,string 。
FILELD LINES SELECT ...INTO OUTFILE... , , “/tmp/emp.txt” emp :
mysql > load data infile '/tmp/emp.txt' into table emp
, :
mysql> load data infile '/tmp/emp.txt' into table emp fields ignore 2 lines;
:
mysql > load data infile '/tmp/emp.txt' into table emp ignore 2 lines (id,content,name);
2.mysqlimportで実現し、具体的な命令は以下の通りである。
shell > mysqlimport -u root -p*** [--LOCAL] dbname order_tab.txt [option]
Example: order shell > mysqlimport -uroot test /tmp/emp.txt
注意:プラットフォームをまたいでの操作(WindowsとLinux)を導入し、エクスポートする場合は、パラメータライン-terminated-byを設定し、Windowsではオンライン-terminate-by=''r'を設定し、Linuxではオンライン-terminated-by='を設定します。テーブルデータをクリア
delete from表名
truncateテーブル名;
whereパラメータを持たないdelete文はmysql表のすべての内容を削除できます。truncate tableを使ってもmysql表のすべての内容をクリアできます。
効率的にはtruncateがdeleteより速いですが、truncateが削除された後にmysqlログを記録しないと、データを回復できません。
deleteの効果はmysql表の全ての記録を一つずつ削除してしまいます。
truncateはmysqlテーブルを保持する構造に相当します。この表を新たに作成しました。すべての状態は新しい表に相当します。
MySQLに関する詳細について興味がある読者は、本駅のテーマを見ることができます。「MySQLクエリ技術大全書」「MySQL事務操作技術まとめ」「MySQL記憶プロセス技術大全」「MySQLデータベースのロックに関するスキルのまとめ」「MySQL常用関数大まとめ」
この記事が皆様のMySQLデータベース計に役立つことを期待します。