MAMPのmysqlをターミナルで操作【SQL】

SQL

MAMPのmysqlをターミナルから操作したい!

こういった悩みを持っている方への記事です。

筆者は現在web制作フリーランス2年目でして、webエンジニアの方面へも仕事の幅を広げるためにプログラミングを学習中です。

今回は、MAMPのデータベースを使用する際にターミナルからテーブルを作成したので、そのアウトプットを行います。(今回はmac環境です)

5分で読めるので、ご興味のある方はぜひ最後まで読んでみてください。

MAMPを起動しデータベースを作成

MAMPの起動とデータベースの作成は今回は省略しますが、簡単な流れは下記です。

MAMPのアプリを起動し、WebStartボタンをクリック

MAMPのホーム画面が出てくるので、ヘッダーのToolsからphpMyAdminを選択

phpMyAdminが開けたら、データベースを作成

サイドバーのNewボタンをクリックし、データベースを作成
具体的なMAMPでのデータベース作成方法か下記のサイトが分かりやすいです。(MAMPのUIはバージョンによっては違うかもしれません)

(コマンドからデータベースを作成してもおけです。)

MAMPのphpMyAdminでMySQLデータベースの作成 - MAMPの使い方 - PC設定のカルマ
MAMPは、MySQLデータベースを利用したWebサービスやWordPressのようなブログシステムを開発・テスト環境構築する場合に大変便利です。ここではMAMPのphpMyAdminでMySQLデータベースを作成する方法を見ていきましょう。

テーブルを作成する

実際にテーブルを作成していきます。

binディレクトリへ移動

まずは、MAMPのmysqlを操作できるディレクトリであるbinディレクトリへ移動します。

ルートディレクトリから、下記のコマンドで移動ができます。

$ cd /Applications/MAMP/Library/bin/

mysqlを起動する

次にmysqlを起動します。

下記コマンドを順に実行してください。

mysql.server start
./mysql -u root -p 
//パスワードを聞かれるので、MAMPで設定しているパスワードを記入。多分、root。

実行後、mysqlが起動します。

mysql>の入力待ち状態が表示されていたらOKです。

抜ける時は、exitまたはquitで抜けぬことができます。

テーブルの構成を確認する

今回はstaffテーブルとproductテーブルの二つのテーブルを作成します。

箇条書きの項目は、テーブルに指定する「カラム名(その属性)」です。

staffテーブル
・id (auto_increment, primary key)
・name (varchar)
・password (varchar)
productテーブル
・id (auto_increment, primary key)
・name (varchar)
・price (varchar)
・image (varchar)

auto_incrementとは?

カラムに値が指定されなかった場合、MySQLが自動的に値を割り当てる。
データ型は整数。
値は1ずつ増加して連番になる。

MySQLのAUTO_INCREMENTについて色々と調べてみた。

今回は、idにauto_incrementを指定しているので、データ(レコード)が入るたびにidは1づつ増えながら指定されます。

primary keyとは?

データベースのデータ(レコード(1行))を一意に識別するための項目です。

一意とは、重複しないでということ。

これもidに指定しているので、重複するidは作られないことになります。

SQL文でテーブルを作成する

テーブルを作成する前に、どのデータベースで作成するか下記コマンドで指定します。

use myshop;

myshopの箇所は、ご自身で作成されたデータベース名にしてください。

SQL文でテーブルを作成します。

staffテーブル

create table staff( id integer auto_increment not null primary key, name varchar(255), password varchar(255));

productテーブル

create table product (id integer auto_increment not null primary key, name varchar(255), price integer(255), image varchar(255));

実行できたら、Query OKと表示されます。

phpMyAdminを確認してみると、

作成されていることが確認できます。

sqlファイルを作成し実行する

別の方法に、sqlファイルを作成しテーブルを作成する方法もあります。

今回は、例としてdatabaseディレクトリ内に、shop.sqlファイルを作成します。

shop.sqlファイル

CREATE TABLE test (
  id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,
  name VARCHAR(255),
  password VARCHAR(255)
); 

CREATE TABLE test2 (
  id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,
  name VARCHAR(255),
  price INTEGER(255),
  image VARCHAR(255)
);

sqlファイルにSQL文を記載したら、ターミナルでコマンドを実行します。

実行方法はいくつかありますが、今回はsourceコマンドを使った例をみていきます。

mysql> source /Applications/MAMP/htdocs/myshop/database/shop.sql

sourceコマンド以下にsqlファイルまでのファイルパスを指定し、実行します。

まとめ

今回は、MAMPのmysqlをターミナルで操作し、テーブルを作成する方法を解説しました。

MAMPを使う際、phpmyadminからテーブルも作成できますが、ターミナルで実際にSQL分を書いて作成することもできます。

SQL文は今後使うことになってくると思うので、使えるようになっておいた方が良さげですね。

参考サイト

MAMPのphpMyAdminでMySQLデータベースの作成 - MAMPの使い方 - PC設定のカルマ
MAMPは、MySQLデータベースを利用したWebサービスやWordPressのようなブログシステムを開発・テスト環境構築する場合に大変便利です。ここではMAMPのphpMyAdminでMySQLデータベースを作成する方法を見ていきましょう。
MAMPのMySQLをコマンドラインで操作 - Macターミナル - MAMPの使い方 - MySQL入門 - Webkaru
MAMP の MySQL をコマンドラインで操作する方法を解説します。
MySQLのAUTO_INCREMENTについて色々と調べてみた。 - Qiita
AUTO_INCREMENTとは カラムに値が指定されなかった場合、MySQLが自動的に値を割り当てる。 データ型は整数。 値は1ずつ増加して連番になる。 基本的なこと。 テストテーブル作成 mysql> CR...
Error 403 (Forbidden)|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
403エラーページです。用語の意味を「ざっくりと」理解するためのIT用語辞典です。
PRIMARY KEY制約(主キー/プライマリキーを設定する)
プライマリーキー(主キー)とは作成したテーブルの中の1つまたは複数のカラムの組み合わせに対して設定するもので、テーブルに格納されているデータをに格納されているデータを識別するための目印のようなものです。ここではプライマリキーについての簡単な解説と、MySQLのテーブルでプライマリキーを設定して利用する方法について解説し...
使用するデータベースを選択する(USE文)
データベースを作成したあとでテーブルなどを作成するにはまずどのデータベースを使用するのかを USE 文を使って指定します。選択したデータベースはデフォルトデータベースとなります。ここでは USE 文を使って使用するデータベースを選択する手順について解説します。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 3.6.9 AUTO_INCREMENT の使用
https://style.potepan.com/articles/25532.html
MySQLでファイルからSQLを実行する - Qiita
MySQLで大量のテーブルを作るに当たって、Oracleみたいにテキストファイルを渡して処理を実行できないかなぁと思って調べたら、やはり同じ様な方法は存在したので、メモ。 コマンドライン上でファイルに記載したSQLを実行 $ m...