php

データベースを使ってみる

リレーショナルデータベースを利用するには、
データベース内にデータを格納するための表を
作成しなければいけません。
以下のようなSQL文を使います。

データ操作 SQL文
表を作成 CREATE TABLE 表名
表を更新 ALTER TABLE 表名
表を削除 DROP TABLE 表名

表を作成するには、以下のように使います。

CREATE TABLE HYO1
(id INTEGER PRIMARY KEY,name STRING,price INTEGER)

上記で、HYO1という名前の表を作成することができます。
HYO1内に、連番を示すid列、文字を格納できるname列、
整数を格納できるprice列を作成しました。

SQL文を使って表の作成・更新・削除ができる。

表にデータを追加する

表を作成したら、次に表にデータを格納する必要があります。
不要なデータは変更・削除することも必要です。
データの追加・更新・削除のSQL文は、下記の通りです。

データ操作 SQL文
データを追加 INSERT INFO 表明(列名,列名・・・) VALUES(値,値・・・)
データを更新 UPDATE 表名 SET 列名=値 WHERE 条件
データを削除 DELETE FROM 表名 WHERE 条件

HYO1に「りんご,100」というデータを追加するには、
以下のように書きます。

INSERT INFO HYO1(name,price)
VALUES('りんご',100)

name列に「りんご」が、price列に「100」が格納されます。
id列は自動的に連番が格納されます。

SQL文を使ってデータの追加・更新・削除を行うことができる。

表からデータを問い合わせてみる

表とデータの準備ができたら、必要なデータを問い合わせて
データを抽出します。表の問い合わせは以下SELECT文を使います。

データ操作 SQL文
データ問い合わせ SELECT 列名 FROM 表名 WHERE 条件

SELECT * FROM HYO1

HYO1に10件のデータが存在するときは、
このSQL文で10件のデータを取り出すことができます。
「*」は全ての列を表す指定です。

SQL文であるSELECT文を使ってデータを
問い合わせることができる。

表全体を表示してみる

PHPでは、色々なデータベースを使うことができます。
データベースを統一的に利用できるPDO(PHP DataObjects)という
仕様が用意されています。
そこでPHPに標準で備えられているデータベースであるSQLiteを使い
PDOによってデータベースを操作してみます。

サンプルコードの実行結果はこちら

SQLiteを使うには以下の手順で行います。
1.データベースをオープン
2.SQL文を発行し、データベースを操作
3.データベースをクローズ

PDOクラスからオブジェクトを作成し、
データベースをオープンする処理を行います。このとき
データベースの「データベース名」「ユーザー名」「パスワードを
指定しなければいけません。

サンプルコードでは「test.db」としました。
標準添付されているSQLiteデータベースを使いますので、
データベース前に「sqlite:」という文字列を付けています。

他のデータベースをつかうなら、データベースに適した
名前を付けてください。

今回のサンプルコードでは、「ユーザー名」「パスワード」は
空にしてますが、普通は「ユーザー名」「パスワード」は指定します。

データベースをオープンしたとき、SQL文を発行することが
できるようになります。発行の結果を返さないSQL文を発行するには
exec()メソッドを使います。

1.DROP TABLE文を使い、データベース内に
  同じ名前(手順2と同一の名前)の表が存在しないように、
最初にDROP TABLE文を使って表を削除する処理をしています。
2、CREATE TABLE文を使い、productという名前の表を作成し、
3.INSERT文でデータを追加します。
4.SELECT文でデータの問い合わせを行います。
  そのときquery()メソッドを使います。
  queryメソッドは問い合わせ結果を受け取ることができます。

結果を表す
PDOStatementクラスのfetch()メソッドを使うと、
結果行を1行ずづ得ることができます。while文を使いこの関数が
結果行を返すかぎり、繰り返し処理を行います。

最後に、オブジェクトにnullを代入し、
データベースをクローズしています。

-php
-, , , , , , , ,