Edited at

MySQL覚え書き


はじめに

XAMPPでWebアプリケーションを開発するときにPHPから接続するMySQLの設定(コマンド等)についてメモです。

覚え書き&簡単なコマンドのみなので浅く書きます。

[ユーザ名]とかなっているところは各自の設定にしてください。

'19/5/20 テーブル一覧表示とスキーマ表示を「おわりに」に追記しました。


環境

$ mysql --version

mysql Ver 15.1 Distrib 10.1.31-MariaDB, for Linux (x86_64) using readline 5.1


MySQLコマンド

インストールしたばかりでログインするならこれ。

$ mysql -u root

rootにパスワードを設定している場合、$ mysql -u root -pとしたり、ログインしてデータベースにアクセスする場合は-pのあとにデータベース名を入力すると一瞬で行ける。

例:hogeというユーザfoo_dbというデータベースにログインする場合。

$ mysql -u hoge -p foo_db


EXIT

MySQLコマンドの状態から抜け出すには

> exitもしくは> quitで抜け出す。

これはセミコロン要らないんですよね・・・。


データベース・テーブルの作成

MySQLにログインできたら最初はデータベースの作成を行う。

MySQLコマンドは1コマンドごとにセミコロン;が必要。


データベースの構成

MySQLの構成は以下のようになっている(簡易的)。

mysql

├── DataBase1
├── Table1
└── Table2
├── DataBase2
└── Table3
├── DataBase3
.
.


データベースの作成と権限の設定

データベース名は test_db とかでいいと思います。


  • データベースの作成

    > create database [データベース名];

  • データベース一覧表示

    > show databases;

  • データベースにアクセスできるユーザの設定

    > grant all on [データベース名].* to [ユーザ名]@localhost identified by '[パスワード]';


テーブルの作成


  • テーブルを作成するデータベースを選択

    > use [データベース名];

  • テーブルの作成

    > create table [テーブル名] ( [フィールド名] [型] [オプション(複数指定可能)], ...);

例: 次のような users テーブルを作成するコマンド

> create table users ( id int not null primary key, name varchar(255), score int);

フィールド

オプション

id
int
not null, primary key

name
varchar(255)

score
int


おわりに

XAMPPでMySQLにアクセスするときの初期設定的な部分を書きました。

自分が見直すようのメモ程度です。

最後に、 grant all で設定したユーザでアクセスできるか確認すると良いかもしれません

$ mysql -u [ユーザ名] -p [データベース名]

このコマンドを実行してパスワードを入力して無事ログインできたら、その情報をPHPでPDOに流し込むことでPHPとMySQLの連携ができます。


追記(おまけ)


  • テーブル一覧表示

    > show tables;

  • テーブルのスキーマ表示

    > desc users;

localhostの部分をIPアドレスとかにしたら特定のMySQL(もといデータベース)にアクセスできるのだろうか、とふと思ったので今度試してみたいです。

Thx to.. https://markdowntable.haramishio.xyz/