MAMP でコマンドラインからMySQL 忘備録

ターミナルでここへ移動

$ cd /Applications/MAMP/Library/bin/

ログイン

./mysql -u root -p

パスワード入力 確か初めはrootになっていると思う。

よく使うコマンド

show databases

create database 作成したいDB名;

select * from users \G

これはデータを見えやすく表示してくれる 重宝する ; セミコロンをつけないので注意!

select * from users where email like '%dotinstall.__';

あいまい検索は like ' ' の中の%は任意の文字列 _は任意の一文字

use 利用したいDB;

ログインしたら、これでDBを指定する

show tables from DB名;

show tables はDB名を指定しないといけない

desc テーブル名;

テーブルの構造を確認できる。便利なもの。

+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(255) | YES  |     | NULL    |                |
| email | varchar(255) | YES  | UNI | NULL    |                |
| score | double       | YES  | MUL | NULL    |                |
+-------+--------------+------+-----+---------+----------------+

ユーザーを作成。特定のDBにアクセスするユーザーを通常作成する。

grant all on blog_app.* to dbuser@localhost identified by '設定したいパスワード';

//blog_app.* すべてのテーブルに
// grant all on 許可を与える grantは付与するの意味
//localhost 同じサーバーのdbuserに

テーブルの作成

create table users (
  id int,
  name varchar(255),
  email varchar(255),
  password char(32)
);

数字 double型

char 文字列固定 varchar 文字数がかわってもいい text どれだけ長くても良い

date 日付 datetime 日付と時間

enum 列挙体

enum の例

create table books (
  id int,
  name varchar(255),
  language enum('jp', 'en','th'),
  created_at datetime
);

カラムに設定できる設定

auto_incremet 自動連番 index   検索時は早い

primary key  プライマリ インデックスを指定ときの書き方、別にもう一行書かないといけない key score (scoe)

unique 一意なもの

select文関係

between

歯磨き?間を取ってくるということ

select * from users where score between 4.0 and 9.0;

in

which文のようなもの すでにある値の中に合致すれば表示しなさいということ

select * from users where class in ('blue', 'pink');

select avg(score) from users;

平均値

select sum(score) from users;

合計値

select avg(score) from users group by team;

チームごとの平均値