ブロック ブロック

Blog

卒業生インタビュー

Hope for the best, but expect the worst.

無料PHPスクール⑬~3日目:データベース(DB)とSQL

   

  • SQLをコマンド(Windows:コマンドプロンプト、Mac:ターミナル)から操作し、データベースの作成/テーブル作成/SQL基本構文の演習と、Webサイトへの組込みを行います。
  • ●Windowsの方 XAMPPのコントロール・パネル(アプリケーション・マネジャー)から「shell」を選択してください。コマンド・プロンプトのような(黒い)画面が開きますので、「mysql」と入力します。MySQLが起動します。抜ける(終了する)時は、「quit」と入力します。
  • ●コマンドプロンプトの基本的な操作方法 ・MySQLの入り方:cd\xampp\mysql\bin  mysql -u root -p  PW 入力 ・MySQLの出方 :quit か \q かexit ・rootは各データベースへの権限付与を行う大元となるデータベース ・ディレクトリ間の移動方法 cd ディレクトリ名 ・ディレクトリを一つ戻る cd ../ ・ディレクトリの中身の確認方法(Win:dir、Mac:ls)
  • ●board/データベース作成.txt(board_db):MySQL基礎 ・ログイン/データベース作成/選択/データベース一覧表示/テーブル作成/テーブル一覧表示/テーブルへのデータの挿入/テーブルデータの表示 ・接続→命令→結果→表示の流れ ・CRUD = Create(作る)、Read(読み込む)、Update(更新)、Delete(削除) ・mysqli_connect(host user pass name)の順番 ・rootより新規データベースの作成が可能 create database 作成するデータベース名 default character set utf8; 以下、ファイル名 見ていいデータベースの権限付与 PW設定を行い書式設定を指定する ・SELECT :表示するという意味 ・insert into ~ :~に値を入れる ・* :全部、すべての意味 ・show databases ; でデータベースを表示可能
  • ●資料/データベースのコマンド.txt:データベース・コマンド ・データベースを作成する:CREATE DATABASE データベース名 ・ユーザを作成する:GRANT 権限 ON DB名.TABLE名 TO ユーザ名@ホスト名 IDENTIFIED BY ‘パスワード’ WITH GRANT OPTION; ・テーブルを作成する:CREATE TABLE テーブル名 ( カラム1 型, カラム2 型 ); ・データベースの一覧を表示する:SHOW DATABASES; ・データベースを選択する:USE データベース名 ・テーブルの一覧を表示する:SHOW TABLES; ・テーブルの構造を表示する:DESC テーブル名; ・データを登録する:INSERT INTO テーブル名 ( カラム1, カラム2, … ) VALUES ( 値1, 値2, … ); ・データを更新する:UPDATE テーブル名 SET カラム1 = 値1, カラム2 = 値2, … WHERE カラム3 = 値3; ・データを削除する:DELETE FROM テーブル名 WHERE カラム1 = 値1; ・データを選択する:SELECT カラム1, カラム2, … FROM テーブル名 WHERE カラム名 条件 ・ユーザーの確認:SELECT host,user FROM mysql.user; データの後に続く()は文字の長さ。varchar(10)だと10文字 intはなくてもOK
  • ●資料/store.sql:リレーションを伴ったSQL
  • ●board/board3.php:データベースを使った掲示板(表示のみ) ・データベースホストへ接続して、結果を配列に格納する ・まずデータベースへ接続するために変数の定義。 ・$linkからデータベースホストへ接続し、if文を制限(鍵)をかける。 ・関数 mysqli_query(); でデータベースboardへアクセスし帰ってきた値を、関数 mysqli_fetch_assocで配列し格納する。 ・mysqli_close(); までの記述はデータベースにアクセスし値を表示させ、接続を閉じるまでの基本の流れとなっているため、何度も写経し覚えてしまう。 ・全角スペースに気を付ける ・データベースへのアクセス順にも注意 ・データベース側にエラーの原因がある可能性もある(board_dbが正常に作成されていない) show databeses ; で原因切り分け
  • ●board/board4.php:データベースを使った掲示板(入力と表示) ・データの挿入(書き込み) ・board4はboard3の条件文の中にさらにif文を加えているだけ。if文の中に複数のif文が入っているので解りづらいが、どの変数がどういった役割をしているのか読み解けるようにする。 ・上からecho”aaa”; と出力していき、どこまでが表示されるか確認。表示されない箇所のすぐ上にエラーの原因がある。 ・var_dumpで変数の中身をチェックし何も入っていなければ、その変数にはデータが届いていない。 ・$_POSTのPOSTは必ず大文字で表記する。

 - 学習アドバイス

  関連記事

  おすすめ記事