MySQLとPHPによるWebサーバー Apache IIS PHP サーバー クライアント 【Webサーバソフト】 【RDBMS】

Slides:



Advertisements
Similar presentations
だい六か – クリスマスとお正月 ぶんぽう. て form review ► Group 1 Verbs ► Have two or more ひらがな in the verb stem AND ► The final sound of the verb stem is from the い row.
Advertisements

ネットワークからみるPCC 寺内康之.
SQL データベースアクセスのための文法 担当 岡村耕二 月曜日 2限 平成20年度 情報科学III (理系コア科目・2年生)
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
SQLite3
インターネット技術特論 H:SQLite3 山口 実靖
情報理工学部 情報システム工学科 ラシキアゼミ 3年 H 井奈波 和也
データベース工学および演習 第5章 リレーショナルデータベース言語SQL
PostGIS - 1 (入門編).
情報理工学部 情報システム工学科 3年 H 井奈波 和也
SQL データベースアクセスのための文法と MySQL
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
WEBから確認できる 駐車場管理システムについて
知的システム構築工房   Linux設定セミナーシリーズ 第6回 MySQL設定 2011年3月17日(木) 株式会社 アセンディア 1.
3-1 MySQLについて 発表者:藤村元彦 自然言語処理研究室.
MySQLに接続するデータベースプログラム
英語勉強会.
6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」
ACCESSによる データベースアプリケーション開発実習 日本工業大学 情報工学科 “データベースの実際” 教材
SQL J2EE I 第3回 /
RDBMSについて 2年7組  小鹿 慎太郎.
3-2.データを取り出す 2004年 5月20日(木) 01T6074X 茂木啓悟.
第2章 データベースのモデル 2.1 論理表現と3層モデル 2.2 階層モデル 2.3 ネットワークモデル 2.4 関係モデル.
Day3 Day4 Day3 Day4.
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
SAP & SQL Server テクニカルアーキテクチャ概要 マイクロソフト株式会社 SAP/Microsoft コンピテンスセンター
14.テーブル定義,一対多の関係,多対多の関係, 外部キー,索引(インデックス),データベース操作
table 'results' SELECT name, teacher FROM results;
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
マイクロソフト Access を使ってみよう 第1回
データベース設計 第9回 Webインタフェースの作成(1)
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
データベースとJavaをつなげよう! ~JDBC~
データベース基礎 2016年3月10日 JWord株式会社 サービス開発部 中川 陽平.
2004/05/13 3-4 データ型(カラムタイプ) について 発表者:藤村元彦 自然言語処理研究室.
11.Webサイトとデータベース, Webサイト+ブログシステムの開設手順例
九州大学キャンパスクラウド 利用法 情報ネットワーク特論 講義資料.
Oracle XEを使ってみよう 初音玲.
SQL データベースアクセスのための文法 担当 岡村耕二 月曜日 2限 平成21年度 情報科学III (理系コア科目・2年生)
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
3-10. MySQLシステムの管理  2004年6月10日  大北高広                01T6010F.
第1回.リレーショナルデータベースを使ってみよう
第1回.リレーショナルデータベースを使ってみよう
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
SQL パフォーマンス チューニング ~ プランガイドの利用~
マイクロソフト Access での SQL 演習 第5回 副問い合わせ
第3回.テーブルの結合 結合条件 SQL を用いた結合問い合わせ.
第3回.テーブルの結合 結合条件 SQL を用いた結合問い合わせ.
09 06/23 PHP と SQL (MySQL) の連携 その1
3-6.インデックスについて 3-7.関数と併用されることの 多いMySQLコマンド
3-3.テーブルを更新する 2004年 4月22日(木) 01T6074X 茂木啓悟.
コンピュータ概論B ー ソフトウェアを中心に ー #09 データベース (後編)
マイクロソフト Access での SQL 演習 第4回 並べ替え(ソート)
ネットワークプログラミング (3回目) 05A1302 円田 優輝.
Oracle XEを使ってみよう 初音玲.
データベース設計 第8回 クライアント=サーバーモデル(2)
データベース設計 第4回 DBMSの機能と操作方法(1) Access入門
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
情報システム1及び演習 第一回 データベースの概要.
3-8・関数を使ってデータを取り出す   2004年6月3日(木) 01T6010F               大北高広.
3.リレーショナルデータベース,主キー, SQL
Created by L. Whittingham
再帰CTE を使って遊ぼう 大阪#9 2012/04/14.
Db2 Warehouse on Cloud Db2 on Cloud フルマネージドサービス提案時の注意点
関係データベースとSQL MZ Platform講習会(上級).
CO-Client Opeartion 1.1 利用履歴データベースの設計 (スキーマ バージョン 対応)
09 06/23 PHP と SQL (MySQL) の連携 その3
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
SQL J2EE I (データベース論) 第3回 /
SQL データベース論 第11回.
Presentation transcript:

MySQLとPHPによるWebサーバー Apache IIS PHP サーバー クライアント 【Webサーバソフト】 【RDBMS】 HTMLファイル Apache IIS HTML,PHPファイルの要求【80,443】 http://〜/〜.html http://〜/〜.php クライアント PHPファイル PHP HTMLファイルの送信 PHPファイル DB (MySQL) HTML SQL Query Record 要求されたPHPファイルからHTMLへの動的変換 【サーバーサイドスクリプト言語】 【RDBMS】

RDBMS リレーショナルデータベースマネジメントシステム (relational database management system, RDBMS) とは、エドガー・F・コッドが提唱した関係モデル (リレーショナルモデル) に基づいた、コンピュータのデータベースマネジメントシステム (DBMS) である。 RDBMS によって構築するデータベースを、リレーショナルデータベースという。 関係モデルにおける「関係」(リレーション) は、一般には「表」(テーブル) と呼ばれることが多い。 2007年現在、RDBMS は最も一般的に使われているデータベースマネジメントシステムである。 いくつかの RDBMS では、オブジェクト指向の機能拡張を行っている。 このような RDBMS は、ORDBMS と呼ばれる (オブジェクト関係データベース) 。 商用の RDBMS としては Oracle Database や IBM DB2 などが、オープンソースの RDBMS としては MySQL や PostgreSQL などが有名である。 ただし、これらの DBMS を 真のRDBMS と呼んで良いのかどうかについては、後述のとおり、議論の対象となっている。 RDBMS とされるシステムの多くは、データベース言語として SQL を採用している。 By Wikipedia

エドガー・フランク・コッド エドガー・フランク・コッド(Edgar Frank "Ted" Codd, 1923年8月23日 - 2003年4月18日)は、イギリス生まれの情報工学者。リレーショナルデータベースの理論に多大な貢献をした。IBMに勤務しながら、データベースの関係モデルを創造した。他にも情報工学に数々の貢献をしているが、関係モデルはデータ管理の一般理論として大きな影響を与え、彼の最大の業績と言われている。 [編集] 生涯 コッドはイギリスのドーセット州ポートランドで生まれた。オックスフォード大学エクセター・カレッジで数学と化学を専攻する。第二次世界大戦ではイギリス空軍のパイロットとして参戦した。1948年、アメリカ合衆国ニューヨーク州に移住し、IBMでプログラマとして就職した。1953年、上院議員ジョセフ・マッカーシーの許可を得てカナダのオタワに移住。10年後アメリカ合衆国に戻り、アナーバー (ミシガン州)のミシガン大学で情報工学の博士号を取得。2年後、サンノゼ (カリフォルニア州)に移り、IBMのアルマーデン研究所に勤務するようになった。 1960年代から1970年代、コッドはデータ配置に関する理論を構築し、1970年 "A Relational Model of Data for Large Shared Data Banks" (大規模共有データバンクのデータ関係モデル)という論文を発表した(IBM内ではその1年前に公表している)。しかし、IBMはライバルがそれを実装し始めるまで彼の提案を実行に移そうとせず、コッドは失望した。 当初、IBMはIMS/DBの収益を守るため、関係モデルを実装することを拒んだ。コッドはIBMの顧客に自身のモデルを実装した場合の可能性を提示し、顧客からIBMに圧力をかけさせた。そこでIBMは System Rプロジェクトを立ち上げたが、その開発チームとコッドは分離され、しかもコッドの理論に精通した者はチーム内にいなかった。結果として彼らはコッドの Alpha 言語を使わずにリレーショナルでないSEQUEL言語を開発した。とはいえ SEQUEL は以前のシステムより優れていた。ラリー・エリソンは SEQUEL 完成前に発表された論文に基づいて Oracle を完成させ先に発売している。IBMは、SQL/DS を発売した。なお、SEQUEL という名前は既に他で使われていたので、SQL に改称した。 コッドはクリス・デイトと共同で関係モデルの拡張と開発を続けた。関係の正規化 (正規形) の一種であるボイス・コッド正規形には彼の名が刻まれている。関係モデルは1980年代に隆盛期を迎え、コッドはしばしば古いデータベースに関係モデルをちょっとだけ導入したような悪質なベンダーと戦うキャンペーンを展開しなければならなくなった。そのキャンペーンの一環でコッドの12の規則を公表し、リレーショナルデータベースを定義した。彼のキャンペーンはSQL言語にもおよび、コッドはこれを彼の理論の間違った実装であるとした。このためコッドのIBM内の立場は難しいものとなり、コッドはクリス・デイトらと新たなコンサルティング会社を設立した。 1981年、コッドはチューリング賞を受賞した。 2003年4月18日、エドガー・F・コッドはフロリダ州ウィリアムズ・アイランドの自宅で心不全で亡くなった。享年79。 By Wikipedia

MySQLのインストール 【手順1】mysql-serverのインストール(スーパーユーザー) [root@fedora ~]# yum -y install mysql-server 

MySQL設定ファイルの編集 【手順 2】MySQL設定ファイル(my.cnf)編集 viまたはテキストエディタ(gedit)で編集。geditを使う場合はファイルのアクセス権限を変更する。 [root@fedora ~]# vi /etc/my.cnf ← MySQL設定ファイル編集(赤字部分を追加する) [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 default-character-set = utf8 ← 追加(MySQLサーバーの文字コードmyをUTF-8にする) 以下を追加(MySQLクライアントの文字コードをUTF-8にする) [mysql] default-character-set = utf8

MySQL起動 【手順 3】MySQL起動 [root@fedora ~]# /etc/rc.d/init.d/mysqld start ← MySQL起動 MySQL データベースを初期化中: Installing MySQL system tables... OK Filling help tables... . MySQL を起動中: [ OK ] 【手順 4】MySQL自動起動設定 [root@fedora ~]# /sbin/chkconfig mysqld on ← MySQL自動起動設定 [root@fedora ~]# /sbin/chkconfig --list mysqld ← MySQL自動起動設定確認 mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← ランレベル2〜5のonを確認

MySQLセキュア設定 I 【手順 5】MySQLセキュア設定 [root@fedora ~]# mysql_secure_installation ← MySQL初期設定 NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):  ← 空ENTER OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. Set root password? [Y/n]  ← 空ENTER(rootパスワード設定) New password:  ← rootパスワード応答 Re-enter new password:  ← rootパスワード応答(確認) Password updated successfully! Reloading privilege tables.. ... Success!        <続く>

MySQLセキュア設定 II By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n]  ← 空ENTER(匿名ユーザー削除) ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n]  ← 空ENTER(リモートからのrootログイン禁止)        <続く>

MySQLセキュア設定 III By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n]  ← 空ENTER(testデータベース削除) - Dropping test database... ... Success! - Removing privileges on test database... Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n]  ← 空ENTER Cleaning up… All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL!         <以上>

WebMySQL 3.32Jのインストール ■ WebMySQL(MySQL用ユーティリティ)3.32Jのインストール 1.配布したwebmslを/var/www/html/にコピー 2.http://localhost/webmsl/start.phpにアクセス 3.MebMySQLでDB「mysql」、テーブル「user」内に  Host:localhost、User:comm_access、 password:kagoshima のレコードを作成

実験 ■ WebMySQL2.1を使用したDBの作成 1.データベース「Student」を作成 2.データベース「Student」内にテーブル「S_Base」を作成 3.テーブル「S_Base」内にフィールド「Std_id(Null:No,PrimaryKey,char20)」「S_name(char40) 」「E_mail(char200) 」を作成 4.テーブル「S_Base」内にとりあえずダミーの1レコードを作成する

実験 ■ エディタ(mi)を使用したPHPファイルの作成 1./Library/Webserver/Documents/内にフォルダ「student」を作成 2.USBメモリ内の「dbaccess.php」を/Library/Webserver/Documents/student内にコピー 3.エディタmiにて「 dbaccess.php」の中身を確認 4.http://localhost/student/dbaccess.php をアクセスしてみる。 課題:新規レコードの追加、各レコードの削除ができるようにPHPファイル「 dbaccess.php」を変更せよ ※学籍番号「1111111111」氏名「山田 太郎」E_mail「yamada@xxx.xxx」のレコードを追加するには insert into S_base (Std_id, S_name, E_mail) values (‘1111111111’, ‘山田 太郎’, ‘yamada@xxx.xxx’) というクエリー文を発効すれば良い。 ※学籍番号「1111111111」のレコードを削除するには delete from S_base where Std_id=‘1111111111’

RDBMSの構成 ファイルシステム DataBase ・・・ ・ Table

Table (Field & Record) テーブル名:gakusei フィールド名:name レコード(行) ID name Email 1234567890 鹿児島 太郎 taro@ics.kagoshima 1234567891 鹿児島 二郎 jiro@ics.kagoshima 1234567892 薩摩 花子 hana@kodomo.jp ・ ・ フィールド(列)

RDBMSの設計 1. データベース名の決定 2. テーブル構成の設計 3. 各テーブル内フィールド(列)の決定 例) 学生の基本情報(学籍番号、氏名、電子メール) <Std_id, S_name, E_mail>

学生DB 1. データベース名:Student 2. テーブルの決定:S_base 3.フィールド(列)の決定: S_base → Std_id(char20) S_name (char40) E_mail (char200)

フィールドの型(Field Type) CHAR(バイト数) 固定長文字列 VARCHAR(バイト数) 可変長文字列 INT 整数 FLOAT 浮動小数点数 DOUBLE 倍精度浮動小数点数 DATE 日付 TIME 時間 DATETIME 日付時間 TEXT 可変長文字列 MEDIUMTEXT 可変長文字列 LONGTEXT 可変長文字列 など

学生DB(テーブル) Table: S_base Std_id S_name E_mail 1234567890 鹿児島 太郎 鹿児島 太郎 tarou@kago.jp 1234567891 鹿児島 二郎 jirou@kago.jp 1234567892 薩摩 花子 hana@kago.jp ・

SQL基礎 ■データ操作命令(レコードの読み出し、生成、変更、削除) SELECT, INSERT, UPDATE, DELETE ■トランザクション(排他制御) ■データ定義命令(DB, Table, Fieldの生成、削除、属性変更) CREATE, DROP, ALTER, etc.

データ操作命令:SELECT ■テーブルからレコード(行)を得る。  SELECT [ALL | DISTINCT] expression [, expression….. ] FROM table_name [, table_name ….. ] [WHERE where_expression ] [GROUP BY expression [, expression….. ] ] [HAVING where_expression ] [ORDER BY expression [, expression….. ] ] Expression:任意の式 table_name :レコード(行)を選択するテーブル名 where_expression:レコード(行)を絞り込む条件式

SELECT ■テーブルS_baseからレコード(行)を得る。 SELECT Std_id, S_name FROM S_base  SELECT * FROM S_base  SELECT Std_id FROM S_base mysql> SELECT Std_id, S_name FROM S_base; +------------+--------------+ | Std_id | S_name | | 1234567890 | 鹿児島 太郎 | | 1234567891 | 鹿児島 二郎 | | 1234567892 | 薩摩 花子 | 3 rows in set (0.00 sec) mysql> SELECT * FROM S_base; +------------+--------------+ | Std_id | S_name | | 1234567890 | 鹿児島 太郎 | | 1234567891 | 鹿児島 二郎 | | 1234567892 | 薩摩 花子 | 3 rows in set (0.00 sec) mysql> SELECT Std_id from S_base; +------------+ | Std_id | | 1234567890 | | 1234567891 | | 1234567892 | 3 rows in set (0.00 sec)

SELECT(WHERE句) ■テーブルLectureからレコード(行)を得る。WHERE句 SELECT * FROM Lecture WHERE boolean_expression ■テーブルLectureからレコード(行)を得る。WHERE句  SELECT * FROM Lecture  SELECT * FROM Lecture WHERE Std_id=‘1234567890’ WHERE Std_id=‘1234567890’ and L_name=‘数学%’ mysql> SELECT * FROM Lecture; +------------+----------------+ | Std_id | L_name | | 1234567890 | 工学概論 | | 1234567890 | 数学II | | 1234567892 | プログラミング | | 1234567890 | プログラミング | | 1234567892 | アルゴリズム | 5 rows in set (0.00 sec) mysql> SELECT * FROM Lecture WHERE Std_id='1234567890'; +------------+----------------+ | Std_id | L_name | | 1234567890 | 工学概論 | | 1234567890 | 数学II | | 1234567890 | プログラミング | 3 rows in set (0.00 sec) mysql> SELECT * FROM Lecture WHERE Std_id=‘1234567890’ and L_name=‘数学%’; +------------+----------------+ | Std_id | L_name | | 1234567890 | 数学II | 1 rows in set (0.00 sec)

SELECT (GROUP BY句) ■テーブルLectureからレコード(行)を得る。 GROUP BY expression [, expression] ■テーブルLectureからレコード(行)を得る。  SELECT Std_id FROM Lecture GROUP BY Std_id  SELECT Std_id, count(*) FROM Lecture GROUP BY Std_id  SELECT L_name, count(*) FROM Lecture GROUP BY L_name mysql> SELECT L_name, count(*) FROM Lecture GROUP BY L_name; +----------------+----------+ | L_name | count(*) | | アルゴリズム | 1 | | プログラミング | 2 | | 工学概論 | 1 | | 数学II | 1 | 4 rows in set (0.00 sec) mysql> SELECT Std_id FROM Lecture GROUP BY Std_id; +------------+ | Std_id | | 1234567890 | | 1234567892 | 2 rows in set (0.00 sec) mysql> SELECT Std_id, count(*) FROM Lecture GROUP BY Std_id; +------------+----------+ | Std_id | count(*) | | 1234567890 | 3 | | 1234567892 | 2 | 2 rows in set (0.00 sec)

SELECT (ORDER BY句) ■テーブルLectureからレコード(行)を得る。 ORDER BY expression [ASC | DESC] [, expression [ASC | DESC]……] ■テーブルLectureからレコード(行)を得る。  SELECT * FROM Lecture ORDER BY Std_id ASC  SELECT * FROM Lecture ORDER BY Std_id DESC mysql> SELECT * FROM Lecture ORDER BY Std_id ASC; +------------+----------------+ | Std_id | L_name | | 1234567890 | 工学概論 | | 1234567890 | 数学II | | 1234567890 | プログラミング | | 1234567892 | プログラミング | | 1234567892 | アルゴリズム | 5 rows in set (0.00 sec) mysql> SELECT * FROM Lecture ORDER BY Std_id DESC; +------------+----------------+ | Std_id | L_name | | 1234567892 | プログラミング | | 1234567892 | アルゴリズム | | 1234567890 | 工学概論 | | 1234567890 | 数学II | | 1234567890 | プログラミング | 5 rows in set (0.00 sec)

データ操作命令:INSERT ■テーブルにレコード(行)を追加する。  INSERT [INTO] table_name [( field_name [, field_name …..] )] [VALUES (value [, value …..] )] [select_statement] table_name :レコード(行)を追加するテーブル名 Field_name:フィールド(列)名 value:挿入するフィールド(列)の値 Select_statement:SELECT命令

INSERT ■テーブルS_baseにレコード(行)を追加する。 INSERT INTO S_base (Std_id, S_name) VALUES (‘1234567893’, ‘西郷 隆盛’) SELECT Std_id, L_name FROM Lecture WHERE Std_id=‘1234567892’ mysql> INSERT INTO S_base (Std_id, S_name) VALUES('1234567893', '西郷 隆盛’); Query OK, 1 row affected (0.00 sec) mysql> select * from S_base; +------------+--------------+ | Std_id | S_name | | 1234567890 | 鹿児島 太郎 | | 1234567891 | 鹿児島 二郎 | | 1234567892 | 薩摩 花子 | | 1234567893 | 西郷 隆盛 | 4 rows in set (0.00 sec) mysql> INSERT INTO S_base (Std_id, S_name) SELECT Std_id, L_name -> FROM Lecture WHERE Std_id='1234567892'; Query OK, 2 rows affected (0.01 sec) レコード数: 2 重複数: 0 Warnings: 0 mysql> select * from S_base; +------------+----------------+ | Std_id | S_name | | 1234567890 | 鹿児島 太郎 | | 1234567891 | 鹿児島 二郎 | | 1234567892 | 薩摩 花子 | | 1234567893 | 西郷 隆盛 | | 1234567892 | アルゴリズム | | 1234567892 | プログラミング |

データ操作命令:UPDATE ■テーブルの既存レコード(行)を更新する。 UPDATE table_name SET field_name= expression [, field_name= expression.. ] )] [WHERE where_expression ] 注)WHERE句を指定しなければ対象テーブルの全レコードが更新される。 table_name :更新するテーブル名 Field_name:フィールド(列)名 expression:任意の値、もしくは式 where_expression:レコード(行)を絞り込む条件式

UPDATE ■テーブルS_baseのレコード(行)の値を更新する。  UPDATE S_base SET Std_id=‘1234567894’, S_name=‘大久保 利道’ WHERE S_name =‘アルゴリズム’ UPDATE S_base SET Std_id=‘1234567894’, S_name=‘大久保 利道’ where S_name=‘アルゴリズム’; Query OK, 1 row affected (0.00 sec) 一致数(Rows matched): 1 変更: 1 Warnings: 0 mysql> select * from S_base; +------------+----------------+ | Std_id | S_name | | 1234567890 | 鹿児島 太郎 | | 1234567891 | 鹿児島 二郎 | | 1234567892 | 薩摩 花子 | | 1234567893 | 西郷 隆盛 | | 1234567894 | 大久保 利道 | | 1234567892 | プログラミング | 6 rows in set (0.00 sec)

データ操作命令:DELETE ■テーブルの既存レコード(行)を削除する。 DELETE FROM table_name [WHERE where_expression ] 注)WHERE句を指定しなければ対象テーブルの全レコードが削除される。 table_name :更新するテーブル名 where_expression:レコード(行)を絞り込む条件式

DELETE ■テーブルS_baseのレコード(行)を削除する。  DELETE FROM S_base WHERE S_name =‘プログラミング’ mysql> DELETE FROM S_base WHERE S_name=’プログラミング’; Query OK, 1 row affected (0.00 sec) mysql> select * from S_base; +------------+--------------+ | Std_id | S_name | | 1234567890 | 鹿児島 太郎 | | 1234567891 | 鹿児島 二郎 | | 1234567892 | 薩摩 花子 | | 1234567893 | 西郷 隆盛 | | 1234567894 | 大久保 利道 | 5 rows in set (0.00 sec)

データ操作命令のまとめ ■SELECT レコードの選択(読み出し) ■INSERT レコードの挿入(生成) ■UPDATE レコードの更新 records ■INSERT レコードの挿入(生成) insert New Record ■UPDATE レコードの更新 update Change Record ■DELETE レコードの削除 delete Delete Record

PHPによるMySQL操作 ■MySQLデータベースのOpenとClose <?PHP $G_connect=mysql_connect('host_name', 'user_name', 'passwoed'); mysql_select_db('Risyu_test', $G_connect); printf(“<HTML>¥n”); ・ printf(“</HTML>¥n”); mysql_close($G_connect); ?> ’host_name’はサーバー上でMySQLが稼働していれば localhost

PHPによるMySQL操作 ■Queryの発行とレコード情報の取得 $txt_query=“select * from S_base”; $result=mysql_query($txt_query,$G_connect);//Queryを発行、結果をバッファ$resultへ $num_rows = mysql_num_rows($result); //対象レコード数 printf(“<TABLE>¥n”); printf(“<TR> ¥n”); printf(“<TD>学籍番号 <TD> <TD>氏名<TD> ¥n”); printf(“</TR> ¥n”); for($i=0;$i < $num_rows ; $i++){ $row=mysql_fetch_array($result); //バッファ$resultから配列$row[]への変換 printf(“<TD>%s</TD> ¥n”, $row[‘Std_id’] ); printf(“<TD>%s</TD> ¥n”, $row[‘S_name’] ); } printf(“</TABLE>¥n”); mysql_free_result($result); //バッファ$resultの解放

PHPによるMySQL操作 ■クライアントへ渡されるHTML <HTML> <TABLE> <TR><TD>学籍番号 <TD> <TD>氏名<TD> </TR> <TR> <TD>1234567890</TD> <TD>鹿児島 太郎</TD></TR> <TR> <TD>1234567891</TD> <TD>鹿児島 二郎</TD></TR> <TR> <TD>1234567892</TD> <TD>薩摩 花子</TD></TR> ・ </HTML>

まとめ ■MySQL 日本MySQLユーザー会 http://www.mysql.gr.jp/ ■PHP 日本PHPユーザー会 Linux, Microsoft Windows, FreeBSD, Sun Solaris, IBM’s AIX, Mac OS X, HP-UX, AIX, QNX, Novell NetWare, SCO OpenUnix, SGI Irix, and Dec OSF といった様々なプラットホームに対応している。 オープンソース 日本MySQLユーザー会 http://www.mysql.gr.jp/ ■PHP PostgreSQL,MySQL,Oracle,Sybaseといった各種データベースとの連携に優れている。 日本PHPユーザー会 http://www.php.gr.jp/