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;
チームごとの平均値