05 はじめてのmy sql

719 views

Published on

PHPからMySQLに接続する方法を学びます。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
719
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

05 はじめてのmy sql

  1. 1. PHP講座(5)! はじめてのMySQL この授業では、PHPでWebアプリケーションを作成するにあたって切っても切れない関係にあ るMySQLの基本とその操作方法について学びます。
  2. 2. Webアプリケーションの仕組み 10.4.18 (C) 株式会社破滅派 2 HTML+CSS+Javascriptなどで作る Webページ。   Flashなども含む。 すべてのWebアプリケーションは同じ仕組です ユーザーインターフェース ビジネスロジック ミドルウェア PHPやPerl、Rubyなどで作る処理命 令。ミドルウェアへの命令や、処理 結果の出力などを行う、アプリケー ションの心臓部分。 MySQLのようなデータベース、 sendmailのようなメールサーバ、GD のような画像処理アプリケーション など。 ユーザーから   のリクエスト アプリケーション   への命令 ユーザーへの 結果出力   アプリケーション による処理結果   処理 処理
  3. 3. できなければいけないこと 10.4.18 (C) 株式会社破滅派 3 特に、データベース(DB)はとてもよく使います。 DBが できないと   お話になりません。 ちょっとは
  4. 4. なぜデータベースが必要なの? 10.4.18 (C) 株式会社破滅派 4 データベース   データの保存・取り出し Webアプリケーションの必要とするデータは   膨大な量になるので、検索機能が必要。
  5. 5. データベースならではの4つの技術 10.4.18 (C) 株式会社破滅派 5 取得(検索)は圧倒的にたくさん使 う機能です。   言い換えれば、検索さえちゃんとで きれば、あとはそんなにやらなくて もいいわけです。 1.  作成する(  Create)   2.  検索・取得する(Retrieve)   3.  更新する(Update)   4.  削除する(Delete)   全部あわせてCRUDとか 言ったりします。
  6. 6. RMDBSとは 10.4.18 (C) 株式会社破滅派 6 みなさんがこれから扱うDBとは、   RDBMS(Relational  Database  Management  System)つまり、   複数のデータを管理するシステムです。 たとえば…   1.  顧客Aの9月の取引内容を「マイページ」に表示する   2.  商品Bを購入した人数を表示する   3.  20代の顧客が購入した商品のランキングを表示する   顧客データ 取引データ商品データ
  7. 7. データベースの構造 10.4.18 (C) 株式会社破滅派 7 データベースはテーブル(表)の集合体です。 データベース Excelも「シート」を束ねる「ブッ ク」からなるため、似たような機 能を提供していますが、一番の違 いは複数のテーブルからの検索性 です。
  8. 8. テーブルの構造 10.4.18 (C) 株式会社破滅派 8 ID name age sex prefecture birthday 1 鈴木 20 0 東京 1990-­‐05-­‐05  14:00:00 2 佐藤 35 1 千葉 1975-­‐08-­‐22  22:02:00 3 田中 50 0 神奈川 1960-­‐12-­‐11  00:00:00 それぞれの項目(列)の名前をフィー ルド名と呼びます。   この場合は「ID」「name」などが フィールド名です。   各列のことは「カラム」と呼びます。 一行で一つのデータセットになります。   この行のことをrowと英語表記するこ とがあるので、注意してください。   データを取得するときは普通、行ごと になります。 その行をテーブル内で特定するフィールド を主キーと呼びます。   普通はIDをつけます。他とかぶらないよう にすれば、「テーブルAのID5」とすること で、特定のデータを取得できます。 MySQLの各フィールドにはデータ型があり ます。日付ならDatetime型やTimestamp型 を利用することで、大小の比較などが簡単 になります。この場合、性別を0/1にするこ とで、判断が容易になります。  
  9. 9. MySQLを使ってみての感想 10.4.18 (C) 株式会社破滅派 9 MySQL   ムズ過ぎ   オワタ   \(^o^)/ もう講座   でねーよ
  10. 10. テーブルの作成とphpMyAdminの利用 10.4.18 (C) 株式会社破滅派 10 MySQLを操作するにはコマンドライン環境を使いました。   しかし、これだけでは大変です。   phpMyAdminというWebブラウザからMySQLを操作できる ツールを利用します。   phpMyAdminはWebブラウザから操作で きるため、MySQLを直感的に理解する ことができます。   XAMPPには最初からインストールされ ていますし(http://localhost/xampp)、各 種レンタルサーバにも入っています。   基本的にテーブル作成はphpMyAdminか ら行いましょう。   あきらめるな!
  11. 11. WordPressにみるRDBMSの構造(1) 10.4.18 (C) 株式会社破滅派 11 1.  degiholly_commentmeta   2.   degiholly_comments   3.   degiholly_contact_form_7   4.   degiholly_links   5.   degiholly_options   6.   degiholly_postmeta   7.   degiholly_posts   8.   degiholly_terms   9.   degiholly_term_relationships   10.   degiholly_term_taxonomy   11.   degiholly_usermeta   12.   degiholly_users   たとえば、講座専用ブログ I  wanna  be  PHPerでは、12 個のテーブルを利用してい ます。
  12. 12. WordPressにみるRDBMSの構造(2) 10.4.18 (C) 株式会社破滅派 12 RDBMSでは、データの重複を避けるため、テーブルを細かく分けます。   1つのデータを1つの箇所に(1  fact  in  1  place)という原則を守るためです。   この方法を正規化といいます。   注文ID 注文日 顧客名 住所 支払方法 1 2010.8.29 注文太郎 東京都 クレジット 2 2010.8.31 山田花子 千葉県 代引き 3 2010.9.21 EC三郎 神奈川県 代引き 4 2010.10.1 注文太郎 東京都 クレジット ここが重複しているので、2つに分けます 注文ID 注文日 顧客ID 支払い方法 1 2010.8.29 1 クレジット 2 2010.8.31 2 代引き 3 2010.9.21 3 代引き 4 2010.10.1 1 クレジット 顧客ID 顧客名 住所 1 注文太郎 東京都 2 山田花子 千葉県 3 EC三郎 神奈川県
  13. 13. WordPressにみるRDBMSの構造(3) 10.4.18 (C) 株式会社破滅派 13 たとえば、Aというタイトルの投稿が属するカテゴ リー名を求めるためには? wp_posts wp_term_relationshipswp_terms 1.  wp_postsからAというタイトルの投稿のIDを求める   2.  wp_term_relationshipsから投稿IDに紐づいたカテゴリーIDを求める   3.  wp_termsから該当するカテゴリーIDの名前を取得する SELECT  term.name  FROM  wp_posts  as  p,  wp_terms  as  term,   wp_term_relationships  as  rel  WHERE  p.post_title  =  ‘A’  AND  p.ID  =  rel.object_id   AND  rel.term_taxonomy_id  =  term.term_id; データベースへ の命令文をSQL といいます。
  14. 14. おまけ:データベースとの付き合い方 10.4.18 (C) 株式会社破滅派 14 データベース(DB)は昨今のWeb技術の発展を支えるもっとも中心的な技術です。   その分だけ奥が深く、データベースエンジニアというお仕事もあります。   身につけるためにはある程度の時間が必要です。 PHPの知識 M y S Q L の 知 識 WordPressなどのCMS利用 CackPHPなどの   フレームワークによる開発 Yahoo!  のような   大規模サイトの構築・運営 ALAYAのような   CMSの開発   デザイナーになるのか? なんでもできるフロ ントエンド・ディベロッパーになるか? バリ バリのWebプログラマを目指すか?   そのどれを目指すかによりますが、下記のよう なリファレンスを1冊手元においておくと、困る ことがないでしょう。 MySQLクックブック   Volume  1、2   上下巻併せて10,000円超!   「本2冊で1万円」と考えると 高いですが、これがあるだけ で何日か節約できると思えば、 安い買い物です。

×