【PHP講座】MySQL入門

MySQL入門

※この記事は「2021年5月2日」に更新しました。

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

SQLの基礎

【PHP講座】SQLの基礎

2019年5月13日

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

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



MySQLとは

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

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

phpMyAdminの使い方

【PHP講座】phpMyAdminの使い方

2018年10月2日

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

MySQL にアクセス

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

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

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

タイピング

XAMPPで開発環境を構築する

2018年8月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年5月16日

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

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