MySQLでSQLの練習(動作確認)をする方法について
MySQLでSQLの練習(動作確認)をする方法をまとめてみました。
手探りでやったので、適切な方法かどうかの保証が出来かねますが、
一応SQLの結果が返ってくるところの確認はとれましたので、共有します。
もしおかしいところがありましたらご指摘いただけますと幸いです。
◆ 事前準備
LAMP環境構築
→ 最強のプログラミングスクールの「task_1.md」「task_2.md」の実施
◆ 手順
【1】下記をダウンロードし、解凍する
http://tech.pjin.jp/wp-content/uploads/2016/04/worldcup2014.zip
【2】解凍後のsqlファイル「worldcup2014.sql」をDesktopに移動する
【3】ターミナルでcentosにログインし、sql格納用ディレクトリ(名前は任意)を作成後ターミナルから抜ける
ssh centos@xx.xx.xx.xx -p ポート番号 -i .pemのパス
cd /home/centos
mkdir execute_sql
exit
【4】上記2で作成したsqlファイルを、上記3で作成したsql格納用ディレクトリに送信する
scp -P ポート番号 -i pemファイルのフルパス ~/Desktop/worldcup2014.sql centos@xx.xx.xx.xx:/home/centos/execute_sql/
【5】ターミナルにログインし、sqlファイルが送信されたことを確認する
→worldcup2014.sqlがあればOK
【6】 sql格納用ディレクトリまで移動し、mysqlにログインする
mysql -u root -p
→パスワードは環境構築時に設定したパスワードを入力
【7】 使用するデータベースを選択
use mysql
【8】現在のデータベースの状態を確認する
show tables;
【9】sqlファイルを実行する
source worldcup2014.sql
※以下Query OK 〜が続きますが省略します
【10】sqlファイル実行後のデータベースの状態を確認する
show tables;
→実行前は31テーブルだったけど、38テーブルに増えた!
→SQLが実行された!!!
※ ここから練習問題10を解いたときのSQLが含まれます
【11】 SQL練習問題の問題番号10を開く
【12】やってみる
問題:オウンゴールの回数を表示する
(オウンゴールはgoalsテーブルのplayer_id列がNULLのものになります)
goalsテーブルの中身を確認する
show columns from goals;
select count(*) as own_goal_num from goals where player_id is null;
完了!!
【備忘録(地味にハマった事)】
○ SCPコマンド実行時その1
ローカルからサーバにファイルを送信するときに指定するオプションについて、-pだとダメだった。下記エラーが発生した。
ssh: connect to host xx.xx.xx.xx port 22: Operation timed out
lost connection
-Pだといけた。全角!
○ SCPコマンド実行時その2
SCPコマンドを実行するとき、centosにログインした状態で叩くと下記エラーが出てしまってだめだった。
Warning: Identity file /home/centos/Desktop/yoke_ok.pem not accessible: No such file or directory.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
lost connection
ローカルで叩かないと送信できなかった。原因不明。
○ ターミナルの文字色変更方法
bash_rcにちゃんと言われた通り下記追記したよなーと思って探してたところ、これとは全く別の話だった
export PS1='\[\033[01;36m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
ターミナル→環境設定→テキストタブ→Textの色を変更したらいけました
ご参考になれば幸いです
以上です
◆ 更新履歴
7/25 1:50 新規作成
7/25 2:30 体裁等修正