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データベース計に役立つことを期待します。