MySQLでテーブルを完コピしたい!1Linerコマンド

MySQLテーブルコピーLinerコマンド

MySQLで、テーブルをコピーしたい時のコマンドラインを紹介します!毎度ググるのは時間がもったいないのでこの記事で解決しましょう!

目次

別名テーブルを作成し、データごとバックアップを取りたい

今のテーブル構造を大きく変える要件実現のため、現在のテーブルをテーブル構造・データ両方そのまままるっとバックアップを取っておきたい、そんな時のためのコマンドです。以下のワンライナーコマンドで1テーブルコピーできます。

CREATE TABLE newtable SELECT * FROM oldtable;

これだけ。1行で完結です🧸

ダンプファイル(バックアップ)を取る

ダンプファイルを作れば、他の環境・サーバーにファイルを持っていってそちらでテーブルを再構築もできますね!

コピーしたい(ダンプしたい)テーブルが1つの場合

$ mysqldump -u root -p -h xxx.xxx.xx.xxx dbname tablename1 > tablename_dump.sql

コピーしたい(ダンプしたい)テーブルが複数の場合

$ mysqldump -u root -p -h xxx.xxx.xx.xxx dbname tablename1 tablename2 tablename3 > tables_dump.sql

データベース丸ごとコピーしたい(ダンプしたい)場合

$ mysqldump -u root -p -h xxx.xxx.xx.xxx dbname > db_dump.sql

コマンド解説

hはホストを指定なのでローカルサーバーならば127.00.1、リモートサーバーならそのサーバーのIPにします。

-uはMySQLにログインするユーザーを指定します。rootでないなら、rootでなく任意のユーザー名。

そして、> の右側に書いたファイルにダンプファイルが出力されます。パスごと書けば、出力ファイルの置き場所も指定可能。

ダンプファイルをDBに入れる

上で作ったダンプファイルを、再現したい環境に移動したら以下のコマンドでその環境のDBにテーブル構造とデータを再現できます。

$ mysql -u root -p dbname < ./db_dump.sql

左辺のDBへ、右辺のダンプファイルを取り込めます。

MySQL関連の他記事はこちら

UoPeople・プログラミング関連の筆者のつぶやき

MySQLテーブルコピーLinerコマンド

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

ピープル大学(UoPeople)でコンピューターサイエンスを学んでいます。趣味はプログラミング。

コメント

コメントする

目次