reponの忘備録

「喉まででかかってる」状態を解消するためのメモ

LAMPのお勉強日記 (17)

LAMP環境のお勉強日記

目的

  • 自分が何をやったのか記録する
  • 自分が何を出来るのか公開する

経過

まず、MySQLの勉強をする(その後、PHPとの連携の勉強に移る予定)。

XAMPPにより、コマンドプロンプトで作業する。

リレーショナルデータベースとは(再掲)



はじめに

MySQLモニタに入る。
コマンドプロンプト

>mysql -u root -p
Enter password:[パスワード]
mysql>

使用するデータベースを指定する

mysql>use db1

今回学んだこと

「ファイルを使ったやりとり」

  1. テキストファイルからデータを読み込む、書き出す
  2. SQLコマンドをファイルから読み込んで実行する
  3. SQLの実行結果をファイルに保存する
  4. データベース全体のバックアップとリストア

テキストファイルからデータを読み込む、書き出す

CSVファイルのインポート

カンマ(,)で区切られた、文字(テキスト)からのみ出来ているファイル=CSVファイル

  • 「load data infile [ファイル名] into table [テーブル名] [オプションの記述]」


オプションは以下のような記述

  • 「fields terminated by [区切り文字]」(デフォルトは'\t':タブ)
  • 「lines terminated by [改行文字]」(デフォルトは'\n':改行)
  • 「ignore [最初にスキップする行] lines」(デフォルトは0)
CSVファイルにエクスポート
  • 「select * into outfile [ファイル名] [オプションの記述] from [テーブル名];」
ex)
mysql> select * into outfile 'c:/data/out.csv' field terminated by ',' from tb1;

SQLコマンドをファイルから読み込んで実行する

  • 「source [テキストファイル名];」


コマンドプロンプトから直接SQL文を実行することも可能

  • mysql [データベース名] -u [ユーザ名] -p [パスワード] -e "MySQLモニタのコマンド"」
ex)
> mysql db1 -u root -p **** -e "source c:/data/out.csv"

SQLの実行結果をファイルに保存する

リダイレクトを使う
ex)
> mysql -u root -p **** > log.txt
ex)
> mysql -u root -p **** -e "source c:/data/out.csv"> log.txt
mysqlモニタで「tee」コマンドを使う
mysql>tee log.txt
以降の実行結果はlog.txtに保存される
mysql>notee

データベース全体のバックアップとリストア

データベースの内容すべてを書き出すことを「ダンプ(dump)」という。

  • 「mysqldump -u [ユーザ名] -p [パスワード] [データベース名] > [出力ファイル名];」


「ダンプ」した内容をデータベースに戻すことを「リストア(restore)」という。

  • mysql -u [ユーザ名] -p [パスワード] [データベース名] < [ダンプファイル名];」


今回はここまで。

ここまでで一応MySQLの基礎は終わり。

次回からは、PHPとの連携について。

おしらせ

つながり合うSNS


http://survive-sns.jp/


ぜひお気軽にご参加ください。


サーバを新たに立て、一新した「サバイブSNS2.0」を、どうぞ一度覗いてみてください。

人生の「旅の仲間」が見つかるかも知れませんよ。