接続
mysql -u ユーザー名 -D データベース名 -p
-u MySQL に接続するユーザー名を指定する場合記述
-D 接続先のデータベース名を指定する場合記述
-p パスワードを送信する場合記述
tableの作成、フィールドの作成を行う
例:usersテーブルを作成
create table users (
id int not null auto_increment primary key,
name varchar(255),
email varchar(255) unique,
password char(32),
score double,
sex enum('male','female') default 'male',
memo text,
created datetime,
key score (score)
);
■select文でデータ抽出
select * from tebele_name where field_name = record;
■文字列の場合は以下
select * from tebele_name where field_name = '値';
■曖昧検索でデータを抽出する場合
例1:(%を使う)何文字でもいいので「@gmail.com」が入ったメールアドレスを抽出
select * from table_name where email like '%@gmail.com';
例2:(%とアンダースコアを組み合わせる)
アンダースコアの数文の値にマッチするメールアドレスのみ抽出する
select * from table_name where email like '%@gmail.__';
■条件つき検索
betweed
in
select * from table_name where field_name in ('検索する値');
例えばWordPressのデータベースの
「wp_postsテーブルのpost_statusフィールドの値が publishのもののみを抽出したい場合」
select * from wp_posts where post_status in ('publish');
と書けばよい。
■並び替え、件数の制限
select * from users order by field_name;
とすると、数値の低い順番に首都力される
select * from users order by field_name desc;
とすると、逆の順番になる。
取得件数を制限して数値を取得する方法
limit
select * from users limit 3
これは、マッチしたものを数えて3行までを表示させたい場合に有効。
ランキング表示をさせたい時に便利。
■開始位置を指定する
配列と同じく、0から始まるので。
3行目から数えて3行抽出したい場合は。
select * from users limit 2 3;
と書けばよい。
■スコア上位3名のユーザ情報を引っ張ってきたい場合。
select * from users order by score desc limit 3;
■データの集計をする
select count (*) from users;
■バックアップ
mysqldump -u username -p table_name > table_name.dump.sql;
その後、COPYをして退避しておく。
復元方法は
mysql -u username -p table_name < table_name.dump.sql;
その他便利なコマンドあれば追記していく。
参考にされる方へ。記述に間違いがあるかも知れませんのでご注意ください。