1 / 21

KECS フォーラム 第二回実践 Web アプリケーション

KECS フォーラム 第二回実践 Web アプリケーション. ~ MySQL を用いたデータベース基礎~. 目次. MySQL の簡単な使い方 PHP から MySQL へのアクセス方法 API のサンプル. 注意  PHP のファイルは文字コード EUC-JP で保存すること. MySQL の導入. データベースの作成 テーブルの作成 テーブルへのデータ挿入 テーブルからのデータを検索 データの更新 データの削除. データベースを作成する. コマンドプロンプトで MySQL の立ち上げ

denim
Download Presentation

KECS フォーラム 第二回実践 Web アプリケーション

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. KECSフォーラム第二回実践WebアプリケーションKECSフォーラム第二回実践Webアプリケーション ~MySQLを用いたデータベース基礎~

  2. 目次 • MySQLの簡単な使い方 • PHPからMySQLへのアクセス方法 • APIのサンプル 注意 PHPのファイルは文字コード EUC-JPで保存すること

  3. MySQLの導入 • データベースの作成 • テーブルの作成 • テーブルへのデータ挿入 • テーブルからのデータを検索 • データの更新 • データの削除

  4. データベースを作成する • コマンドプロンプトでMySQLの立ち上げ 「スタート」→「MySQL Server ○○」→「MySQL Command Line Client」 • 新規ユーザの作成 mysql > GRANT ALL PRIVILEGES ON sampledb.* TO sample@localhost IDENTIFIED BY ‘password’; • データベースの作成 mysql > create database sampledb;

  5. テーブルの作成 1 • データベースを確認する mysql > show databases; • ログアウト mysql > \q • 通常のコマンドプロンプトを起動 し作成したユーザでMySQL起動 C\: mysql –u sample –p sampledb Enter password ********* mysql >

  6. テーブルの作成 2 • テーブルの意味 テーブルの名前:会員名簿 行 レコード 列 カラム or フィールド

  7. テーブルの作成 3 • テーブルの作成 mysql > CREATE TABLE member ( id MEDIUMINT NOT NULL AUTO_INCREMENT, last_name VARCHAR(50), first_name VARCHAR(50), age TINYINT UNSIGNED, PRIMARY KEY(id) ); • 作成したテーブルの確認 mysql > show tables; • 作成したテーブルの項目(フィールド)確認 mysql > show fields from member;

  8. テーブルへのデータ挿入 • データ挿入(INSERT文の発行) mysql > INSERT INTO member ( last_name, first_name, age ) VALUE(‘永田’,‘俊信’, 18); テーブル名 カラム名 挿入するデータ この要領でデータを挿入してみよう

  9. データをテーブルから検索 • SELECT文 <項目を全て検索し出力する> SELECT * FROM テーブル名; ex) mysql > SELECT * FROM member; • WHERE句 <条件を指定し、検索し出力する> SELECT * FROM テーブル名 WHERE 条件式; ex) mysql > SELECT * FROM member where age<30;

  10. データの更新 • UPDATE文 UPDATE テーブル名 SET カラム名 = “更新データ” where 条件; ex) UPDATE member SET age=19 where id=1; ※WHEREで条件を指定しなければ全てのデータが更新 • データの確認 mysql > SELECT id,last_name,age from member; カラム名を指定可能

  11. データの削除 • DELETE文 DELETE FROM テーブル名 WHERE 条件; ex) DELETE FROM member WHERE age<=20; ※WHEREで条件を指定しなければ全てのデータが削除 • データの確認 mysql > SELECT id,last_name,age from member;

  12. PHPからのデータベース接続 • PHPの設定ファイルの変更 • MySQL関数の利用方法

  13. PHPの設定 • PHP.iniの変更 C:\WINDOWS\php.iniを編集 ;extension=php_mysql.dll  から「;」を消す • Apacheの再起動 タスクトレイのApacheをクリックしRestart • <?php phpinfo(); ?>を実行し確認 MySQL Support が enabled になってるか

  14. MySQLへ接続 • mysql_connect関数を利用 dbtest1.php ------------------------------------------- <?php $con = mysql_connect("localhost", "sample", "password") or die("接続できません。"); print "接続に成功しました。"; mysql_close($con); ?> ------------------------------------------------------------------------- パスワード ユーザ名

  15. データベースへ接続 • Mysql_select_db関数 dbtest2.php ------------------------------------------- <?php $con = mysql_connect("localhost", "sample", "password") or die("接続できません。"); print "接続に成功しました。"; mysql_select_db("sampledb") or die("データベース接続エラー"); ?> -------------------------------------------------------------------------- データベース名

  16. SQL文の発行(データ挿入) • 変数にSQL文を格納しmysql_queryで実行 <dbtest2.phpに以下を追加> $sql = <<<EOS INSERT INTO member(last_name,first_name,age) VALUE(‘田中’,‘一郎’,‘21’) EOS; $res=mysql_query($sql, $con) or die(“sqlエラー”);

  17. SQL文の発行(データ抽出) <?php $con = mysql_connect("localhost", "sample", "password") or die("接続できません。"); print "接続に成功しました。"; mysql_select_db("sampledb") or die("データベース接続エラー"); print "データベースに接続しました。"; $sql = 'select * from sampledb. member'; $res = mysql_query($sql, $con) or die("データ抽出エラー"); while ($row = mysql_fetch_array($res, MYSQL_ASSOC) ) { print "<hr> | "; foreach($row as $key=>$value){ //print mb_convert_encoding($value, 'EUC-JP', 'SJIS') ."|"; print $value."|"; } } mysql_close($con); ?> 結果が一行ずつ返ってくる

  18. SQL文の発行(データ抽出) $row = mysql_fetch_array($res, MYSQL_ASSOC);  ⇒一行の結果を$rowに配列代入 (実行する度に行が移動) $row[“id”]=1 $row[“last_name”]=“永田”  ・・・

  19. APPENDIX

  20. 文字コードについて • 主な文字コードの種類 ・EUCコード(EUC-JP) //データベース等 ・シフトJIS(SJIS)//Windows, IEのdefault ・Unicode(UTF-8) //linux ブログ等 ・文字コード変換関数の利用 //$str1をShift-JISからEUC-JPへ変換したものを$str2へ代入 $str2= mb_convert_encoding($str1,”EUC-JP”,”SJIS”);

More Related