【PHP講座】MySQL入門

MySQL入門

前回は、SQLの基礎について学習しました。

【PHP講座】SQLの基礎

2019.05.13

今回は、MySQL についてです。

PHPでコーディングする前のサーバーに仕込む段階の流れをざっくりと説明していきます。



MySQLとは

PHPは、様々な RDBMS をサポートしていますが、その中でも特に人気があるのが MySQL です。

以前の記事では、この MySQL をブラウザ上で操作できる phpMyAdmin について紹介しました。

【PHP講座】phpMyAdminの使い方

2018.10.02

しかし、今回はあえて、SQL文の理解を深めるために MySQL を CUI 環境で操作していきます。

MySQLにアクセス

XAMPPをインストールして環境構築した方はほとんどの場合、Cドライブ直下に XAMPPフォルダがあるかと思います。

環境変数(Path)を設定していない場合、コマンドが使える場所まで移動する必要があります。

ちなみに XAMPP を知らない方は下記記事をご参照下さい。

XAMPPで開発環境を構築、PHPを学習するために

2018.08.22

コマンドプロンプトを起動して下記コマンドを実行しましょう(あらかじめ MySQL を XAMPP で起動しておくことを忘れずに)。

cd C:\xampp\mysql\bin

すると、指定したフォルダに移動できます。

それでは、実際に MySQL に接続します。

まずはルート権限でアクセスします。

mysql -u root -p

パスワードを求められるので入力します。

早速、データベースを作成してみます。

create database pasota_db;

これでデータベースが作成されます。

現在、root(管理者)というユーザーで操作していますが、実際に Webアプリケーションを作成するときに、この権限でアクセスするのは望ましくありません。

そこで試しに dbuser というユーザーを作成し、アクセス権も設定したいと思います。

grant all on pasota_db.* to dbuser@localhost identified by 'password';

pasota_db に含まれるテーブル全てに全アクセス権を持つ dbuser は、localhost(コンピュータ)でパスワードは password でアクセスできるということです。

今回は適当なパスワードにしていますが、実際はもっと複雑なものにしてください。

MySQL

次に、データベースに接続します。

use pasota_db;

テーブルを作成します。

create table users (
id int not null auto_increment primary key,
name varchar(32),
age int
);

id は、primary key といって、主キーと呼ばれるものです。

行を一意に特定するための役割を持つカラムです。

auto_increment は、指定すると自動的に連番を割り当ててくれます。

not null は、空であってはならないという意味。

varchar は、可変長文字列です。

今回の name varchar(32) は、最大32文字まで格納できる name カラムを定義しています。

int は、整数型です。

いったん、MySQL を終了しましょう。

exit

次に先程作成した dbuser で MySQL にアクセスします。

mysql -u dbuser -p

パスワードを求められるので入力します。

下記コマンドを実行します。

show databases;

先程作成したデータベースが表示されるかと思います。

データベースに接続します。

use pasota_db;

先程作成したテーブルの詳細を表示してみます。

desc users;

問題なく表示されるかと思います。

MySQL

最後に

いかがでしょうか。

今回紹介したのが仕込みの段階の流れの基本となります。

もちろん phpMyAdmin で操作することも可能です。

次回はプレースホルダについてです。

【PHP講座】プレースホルダとは

2019.05.16

PHP に限ったことではないのですが、SQL を安全に実行するために必要な知識です。

PDO を利用したデータベース操作を例に紹介していこうと思っています。