PHPでデータベース(MariaDB)へCRUD基礎
PHPでデータベース(MariaDB)へCRUD基礎
データベース(MariaDB)へCRUD基礎を学習しましょう。
CRUDとは”Create”,”Read”,”Update”,”Delete”の頭文字です。
以下の意味合いでテーブル操作を実施します。
Create | 作成,登録,入力,格納 |
Read | 読込,参照 |
Update | 更新,上書き |
Delete | 削除 |
準備
テーブル
使用するテーブルは前回作成した”name_list”を使用する。
PHPでデータベース(MariaDB)へアクセス操作
INSERT
テーブルへデータを登録する。
登録には”INSERT”文を使用します。
INSERT
INSERT INTO テーブル名 (カラム名) VALUES (値)
INSERT INTO name_list (name, age) VALUES ('Maria', 20)";
SELECT
テーブルへデータを参照する。
参照には”SELECT”文を使用します。
UPDATE
テーブルへデータを更新する。
更新 には”UPDATE”文を使用します。
UPDATE
UPDATE テーブル名 SET カラム名 = 値 WHERE カラム名 = 値
UPDATE name_list SET name = 'PHP',age = 21 WHERE name = 'Maria';
WHERE
WHEREはカラムの値と一致するレコードを対象とする為の文です。
DELETE
テーブルへデータを削除する。
削除には”DELETE”文を使用します。
DELETE
DELETE FROM テーブル名 WHERE カラム名 = 値;
DELETE FROM name_list WHERE name = 'PHP';
WHERE
WHEREはカラムの値と一致するレコードを対象とする為の文です。
コード例
コード
<html>
<head>
<title>PHP</title>
</head>
<body>
<?php
/* class */
class myData{
private $dbName = "list";
private $host = "localhost";
private $user = "root";
private $pass = "*****";
private $db;
function __construct(){
// DBへアクセス
$this->db = new PDO('mysql:dbname='.$this->dbName.';host='.$this->host, $this->user, $this->pass);
// エラー時の処理
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
function __destruct(){
$this->db = null;
}
function dataInsert(){
// テーブルへ値をインサート
$sql = "INSERT INTO name_list (
name, age
) VALUES (
'Maria', 20
)";
// SQL実行
$this->db->query($sql);
}
function dataUpdate(){
// テーブルの値を変更
$sql = "UPDATE name_list SET
name = 'PHP',
age = 21
WHERE name = 'Maria'";
// SQL実行
$res = $this->db->query($sql);
}
function dataSelect(){
// テーブルから値を取得(参照)
$sql = "SELECT * FROM name_list";
// SQL実行
$res = $this->db->query($sql);
// 実行結果がある場合は真
if($res){
// テーブル件数
if($res->rowCount() > 0){
foreach($res->fetchAll() as $row){
print("no = ".$row['no']."<br/>");
print("name = ".$row['name']."<br/>");
print("age = ".$row['age']."<br/><br/>");
}
} else {
print("no data"."<br/>");
}
}
}
// テーブルデータ削除
function dataDelete(){
// テーブルの値を削除
$sql = "DELETE FROM name_list WHERE name = 'PHP'";
// SQL実行
$res = $this->db->query($sql);
}
}
try {
// データクラス生成
$myData = new myData();
/* ------ */
/* INSERT */
/* ------ */
print("INSERT"."<br/>");
// テーブルへ値をインサート
$myData->dataInsert();
/* ------ */
/* SELECT */
/* ------ */
print("SELECT"."<br/>");
// テーブル参照
$myData->dataSelect();
/* ------ */
/* UPDATE */
/* ------ */
// テーブル更新
$myData->dataUpdate();
// テーブル参照
$myData->dataSelect();
/* ------ */
/* DELETE */
/* ------ */
print("DELETE"."<br/>");
// テーブル更新
$myData->dataDelete();
// テーブル参照
$myData->dataSelect();
$myData = null;
} catch(PDOException $e) {
print($e->getMessage());
die();
}
?>
</body>
</html>
結果
INSERT
SELECT
no = 1
name = Maria
age = 20
UPDATE
no = 1
name = PHP
age = 21
DELETE
no data