【2-2】 MySQLに簡単にログインする方法

何かデータを保存する。

となった時、それがどこに保存されているのか考えたことがありますか?

答えはデータベースです。

実はそのデータベースですが、
MAMP/XAMPPをインストールした時点で自動で使えるようになっています。

PHPではユーザを新規登録したり、必要なデータを一覧表示したりするときにデータベースを使用します。

使い方を最初から確認していきましょう!

ログインのコマンドを入力

最初に、MAM/XAMPPが起動していることを確認してください。

次にVScodeで、この3つのどれかの方法でターミナルを出してみてください。

  • 「Sift + Ctrl + @」
  • 画面上部の「ターミナル」→「新しいターミナル」
  • 画面下が実は掴めるので、上に引っ張って出す

(直接ターミナルやコマンドプロンプトを表示させても大丈夫です)

ターミナルに次のコマンドを入力してエンターを押してください。

何をしているのかは後ほど解説します

/Applications/MAMP/Library/bin/mysql -u root -p

すると、以下のように「Enter password:」と出てくるので、

root

と入力してください。

セキュリティのため、入力しても画面上には表示されませんが「root」と打ったらエンターを押してください。

次のように「Welcome to the MySQL monitor.」と出たらログイン成功です。

入力したコマンドの解説

まず最初の

/Applications/MAMP/Library/bin/mysql -u root -p

これは、

アプリケーションフォルダの中にある、
MAMPフォルダの中にある、

Libraryフォルダの中にある、

binフォルダの中にある、

MySQLを実行する。

と言うことを行っています。

-u root -pについて。

-u root:ユーザは「root」ですよ

-p:今からパスワードを打ちますよ

と言う意味です。

データベースを作成してみよう

今から実際にデータベースを作成していきます。

いくつかコマンドが出てきますが、一つずつ解説しながら進めていきます。

show databases;

まずは、作成されているデータベースの種類を確認してみましょう。

show databases;

デフォルトであるこの4つのデータベースは、

変更したり削除することの無いように気をつけてください。

  • information_schema
  • mysql
  • performance_schema
  • sys

create database データベース名;

それでは「test_db」と言う名前のデータベースを作成してみましょう。

create database test_db;

Query OK, …」と出ていたら成功です。

もう一度、

show databases;

で確認すると「test_db」が追加されているはずです。

use データベース名;

データベースはいくつも作ることができるので、

どのデータベースを使うか?」を指定する必要があります。

use test_db;

「Database changed」と表示されたら成功です。

テーブルを作成してみよう

新規で作成したデータベースの中に入ることができたので、テーブルを作成していきましょう。

テーブルはカテゴリごとに作成します。

  • ユーザ(user)を管理するテーブル
  • 部署(dept)を管理するテーブル
  • 飲み物(drink)を管理するテーブル

まず、実際にusersテーブルを作成してみましょう。

CREATE TABLE users (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(50),
    password VARCHAR(255),
    time TIMESTAMP,
    PRIMARY  KEY(id)
) DEFAULT  CHARSET=utf8;

いきなり色々出てきましたが、一つずつ解説していきます。

STEP1:CREATE TABLE テーブル名()

まず、「テーブルを作る」となったら「CEREATE TABLE」を書きます。

SQL文は大文字と小文字は区別しないので、全て小文字でも問題ありません。

しかし、SQL構文は大文字で、自作するデータベース名などは小文字のように分けておくことで見やすくなります。

STEP2:カラム(項目)を指定していく

「CREATE TABLE()」の「()」の中に今後usersテーブルが管理する予定の項目を作成していきます。

usersテーブルは、その名の通りユーザを管理するテーブルです。

例えば、

例えば
  • id:一人ひとりのユーザを特定するため
  • name:ユーザ一人ひとりの名前
  • password:ユーザ一人ひとりのパスワード
  • time:何時何分に作成されたものか管理するため

これらをカンマ区切りで並べていきます。

そしてこの時、

  • idは数値で管理するのでINT型
  • nameは文字列で管理するのでVARCHAR型
  • passwordは文字列で管理するのでVARCHAR型
  • timeTIMESTAMP型と言う型が存在しているのでそれを使う

これをターミナルに記述するのですが、一文字でもスペルミスをするとエラーになります。

できるだけスペルミスが無いようにする方法を紹介します。

VSCodeの右下から言語のモードを切り替えることができるのでSQLモードにしてください。

SQLをVSCode上に記載したものを全部コピーしてすぐ下のターミナルに貼り付けて実行します。

エンターを押して、

Query OK, …」と出ていたら成功です。

念のため、以下のコマンドで作成したテーブルの一覧を確認してみましょう。

show tables;

今作成した「users」が表示されていたらOKです。

ついでに、usersテーブルの構造も確認しておきましょう。

desc users;

「詳細」を意味するdesctiptionの略ですね。

先ほどカンマ区切りで入力した「id, name, password, time」が表示されればOKです。

一旦ここまでのまとめ

ここまでで、データベースやテーブルを作成したり色々なコマンドが出てきました。

この後、実際にデータを投入すると言う事を行うのですが、その前に一旦これまでに行ったことを整理しておきましょう。

データベースの作成

データベースは赤枠で囲った部分のように一番大きな外枠の部分になります。

テーブルの作成

データベースの一つ下の枠組みのテーブル作成になります。

カラムの作成

カラムは「name」とか「password」のような項目の部分ですね。

データを投入してみよう

INSERT INTO users (name, password) VALUES('テスト太郎', 'test001');

構文は以下のようになります。

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

よく見ると今回、idを記載していません。

idはテーブル作成の時に「AUTO_INCREMENT」と言う制約をつけているので、自動的に1から番号が振られます。

エンターを押して「Query OK, 1 row affected」と表示されたら投入成功です。

データを取り出してみよう

SELECT * FROM users;

SELECT カラム名, カラム名 FROM テーブル名;

SELECTの後にカラム名をカンマ区切りで並べていくのですが、
とりあえず全部の項目を取得したい時はアスタリスク「*」を使います。

まとめ

  • /Applications/MAMP/Library/bin/mysql -u root -p」でMySQLにログイン
  • create database データベース名;」でデータベースを作成
  • use test_db;」使用するデーベースを選択
  • CREATE TABLE テーブル名()」でテーブルを作成
  • INSERT INTO テーブル名 (カラム, カラム, …) VALUES (値, 値, …);」でデータ投入
  • SELECT カラム名, カラム名 FROM テーブル名;」でデータを取得

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA