PHP データベース(MySQL,MariaDB)の利用
WebアプリケーションやCMSなどを開発するにあたりデータベース(MySQL,MariaDB)の利用は必須です。
PHPからデータベース(MySQL,MariaDB)を利用する方法について解説します。
この記事の著者 ->S.E; です。
普段は、システム開発に必要なヒアリング、システムの要件定義、設計からプログラマとしてWebサイトやWebアプリケーションの開発、WordPressでのブログの執筆やサーバー運用・管理を行っています。
このページは「未経験の為のプログラミング講座 ゼロから始めるPHPプログラミング〜初級から実践編までを網羅〜」としてPHPの基本的な部分を【初級編】【中級編】【上級編】に分けて解説しています。最終的には簡単なフォームやシステム開発をフルスクラッチで行うことを目的としています。また、参考になる書籍なども紹介しています。
データベース(MySQL,MariaDB)を利用するにあたり
データベース(MySQL,MariaDB)を利用するにあたり、開発環境のMAMPやXAMMPをインストールしていることを前提に解説するので事前にMAMPもしくはXAMMPインストールを行ってください。MAMPのインストール方法については「PHP開発環境-MAMPのインストール」を参照してください。
phpMyAdminを利用する
データベースの作成や編集にはMAMPインストール後に利用できる「phpMyAdmin」を利用します。
MySQLはコマンドでも操作可能ですが、「phpMyAdmin」を利用すれば視覚的にもわかりやすいのでお勧めです。
phpMyAdminを起動する
phpMyAdminを起動するにはMAMP起動後に自動で表示されるページ内にある「phpMyAdmin.」をクリックします。
「Start Page」が表示されない場合は、MAMPのメインページにある「Open WebStart page」をクリックすることでアクセスすることができます。
MAMPインストール時に同梱されているphpMyAdminへは自動でログイン可能ですが、自身で別途インストールしたphpMyAdminの場合は、「ユーザー名」と「パスワード」が必要となります。
「ユーザー名」と「パスワード」は先ほどのStart Page内に記載されています。
下位の場合は「ユーザー名:root」「パスワード:root」となります。
phpMyAdminのトップページにアクセスできたら、環境の各バージョンなどを確認しておきましょう、現在自分がどのバージョンを利用しているのかがわかります。
データベースを新規で作成する場合はページ左の「新規作成」より行います。
「新規作成」をクリックすると、データベース名の登録を行います。今回は「test_db」で登録を行いました。
データベースの登録が完了すると、このデータベースに紐付くテーブルを作成します。
テーブルの作成には「テーブル名」と「カラム数」の入力が必要となります。
今回は下記の内容でテーブルを作成したいと思います。
項目 | カラム名 | 内容 |
---|---|---|
プライマリキー | test_id | 個別のIDを自動連番で登録 |
名前 | test_name | ユーザーの名前 |
年齢 | test_age | ユーザーの年齢 |
性別 | test_gender | ユーザーの性別 1 or 2で登録(1 => 男性、2 => 女性) |
電話番号 | test_tel | ユーザーの電話番号 |
登録日 | test_create | yyyy-mm-dd hh:ii:ss形式で登録 |
更新日 | test_update | 更新時自動でyyyy-mm-dd hh:ii:ss形式で登録 |
削除キー | test_delete_key | 0 or 1を登録( 0 => 有効、1 => 削除) |
データベース登録内容をもとにテーブル名を「test_table」カラム数を「8」と入力し「実行」をクリックします。
指定したカラム数分、登録する項目内容を入力するエリアが作成されました。
テーブルの各項目について
名前
カラム名を入力します。
データ型
データ型は文字列(varchar、textなど)、数値(int、decimal、floatなど)、日付/時刻(date、datetime、time)など様々な形式があります。全て文字列でも登録は可能ですが、データベースに登録された情報をもとに時間の計算や日程の調整などを行う場合は、登録する情報にあった「型」を選んでおく必要があります。
長さ/値
varcharやintなどを型として指定した場合に、登録できる文字数や桁数をあらかじめ決めておく必要があります。
デオフォルト値
値の指定がなかった場合、自動で登録する内容をあらかじめ指定しておくことができます。
例えば今回登録する「test_delete_key」は削除フラグに利用しますが、登録時点から1(削除)にすることはないためデフォルト値を「0」にしておくことができます。
また、何も登録されない可能性がある場合は「NULL」を指定しておきます。
照会順序
登録する方によって自動で選択されるため指定の必要は特にありません。
今回は文字列である「varchar」のカラムに「utf8_general_ci」が自動で選択されます。
属性
ゼロパッディングや自動UPDATETIMEの登録などの指定が行えます。
NULL
何も登録されない可能性がある場合はチェックを入れておきます。デフォルト値でNULLを選択した場合は自動でチェックが入ります。
インデックス
SQLでの検索対象となる場合、インデックスに指定しておくことで検索が高速になります。その反面、データベースの容量が肥大します。
A.I(オートインクリメント)
今回登録する「test_id」のようなプライマリーキーを自動連番で登録する際にチェックを入れておきます。
コメント
カラムにコメントを登録できます。この項目には全角文字も登録可能です。
テーブルを作成
データベース登録内容をもとに各項目を入力した内容が下記になります。この状態で「保存する」をクリックすることでテーブルの作成が完了します。
データベース「test_db」にテーブル「test_table」が作成されました。
データベースへのデータの登録
phpMyAdminを利用してデータの登録・更新・削除なども行えますが、この部分はPHPで作成するため、phpMyAdminを利用する作業はこれで完了です。
S.E->お勧め記事;
- Panic Nova 購入から1年が過ぎライセンスの更新時期の注意点
- PHP フレームワーク Laravel ディレクティブ – ループ変数 $loop –
- macOS Monterey にアップデート後、composerやhomebrewでenv: php: No such file or directoryが出る
- XSERVERにSSHを利用してLaravel環境を構築する
- PHPフレームワーク「Laravel」ディレクティブ-繰り返し処理(ループ処理)-
- CrowdWorks 提案後、受注に繋がりました。提案〜契約までの流れを解説
- Shopify APIを利用して在庫管理を行う
- プログラマー になる為に必要な プログラミング以外 の知識・スキル
- CrowdWorks いつの間にか「プロクラウドワーカー」になっていた