PHPでデータベース(MariaDB)へCRUD基礎

php008

データベース(MariaDB)へCRUD基礎を学習しましょう。

CRUDとは”Create”,”Read”,”Update”,”Delete”の頭文字です。

以下の意味合いでテーブル操作を実施します。

Create作成,登録,入力,格納
Read読込,参照
Update更新,上書き
Delete削除

準備

テーブル

使用するテーブルは前回作成した”name_list”を使用する。

PHPでデータベース(MariaDB)へアクセス操作
https://www.codese.net/php008/

INSERT

テーブルへデータを登録する。

登録には”INSERT”文を使用します。

INSERT

INSERT INTO テーブル名 (カラム名) VALUES (値)

INSERT INTO name_list (name, age) VALUES ('Maria', 20)";

SELECT

テーブルへデータを参照する。

参照には”SELECT”文を使用します。

SELECT

SELECT * FROM テーブル名

SELECT * FROM name_list;
*

*”アスター”は”全て”の意味です。

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

コメント

タイトルとURLをコピーしました