Help us understand the problem. What is going on with this article?

Mysqlコマンド

More than 5 years have passed since last update.
mysql -u (ユーザー名) = 起動
mysql -u (ユーザー名) -p = パスワードを入力して起動
use (データベース名) = データベースを切り替えるコマンド
set password for root@localhost=password('設定したいパスワード');

データの中身の確認

select * from (テーブル名)

データベースを作る

create database (データベース名);

grant all on (データベース名).* to dbuser@localhost identified by '設定したいパスワード';作業ユーザーを作る
テーブルを作る(例文)

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)
);

データベースの中身の確認

show databases;

データベースの中にあるテーブルの確認

show tables;

show indexes from (テーブル名)特定のテーブルにどういった索引が設定されているか
drop table users;
desc users=テーブルの構造を見る事ができる
insert into users =values ();レコードの挿入(挿入するレコード一覧)
select (フィールド名) from (テーブル名);テーブル内のデータの確認
select (フィールド名) from (テーブル名) \G テーブル内のデータを縦に表示にする
select (フィールド名) from (テーブル名)where(フィールド名)(条件)
whereに指定する条件の種類=
否定= !=,<>
曖昧な検索の時はlikeを使う
like
'%~'=無制限の任意の文字
_の場合は任意の一文字
between () and () でその間の条件を指定する
in('値','値');でその2つの条件を指定する
and = 共通の条件を指定する
or = またはの条件を指定する
select * from (テーブル名) order by (フィールド名);小さい順に
select * from (テーブル名) order by (フィールド名) desc;大きい順に
select * from (テーブル名) limit (数字);件数の制限
select * from (テーブル名) limit (数),(数);数字は添字、開始位置の指定
select count(*) from(テーブル名) ;レコードの総件数を調べる場合
select distinct (フィールド名) from (テーブル名) ;
select max(フィールド名) from (テーブル名) ;最大値,最小値,平均,合計(max,min,avg,sum)
select sum(フィールド名) from (テーブル名) group by (フィールド名);チームごとに集計する場合
select rand();乱数を表示させる 組み合わせselect * from (テーブル名) order by rand() limit 1;
select (フィールド名),length(フィールド名)from(テーブル名) ;文字数の長さを調べる
select concat(フィールド名, '(', フィールド名, ')') from users;文字数を連結させる
select concat(フィールド名, '(', フィールド名, ')') as (ラベル名) from users;ラベルをつける
select now();現在時刻を表示する
レコードの更新
update (テーブル名) set = 'kimura@dotinstall.jp' where id = (数字);
delete from (テーブル名) where (フィールド名) <= 3.0;レコードの削除
alter table (テーブル名) add (追加するフィールド名) varchar(255) ;テーブルの構造を変更させたい場合,フィールドを足す、どのフィールドの下にのせるかを付ける場合はafter (フィールド名)を指定する
alter table (テーブル名) change (フィールド名)(フィールド名) varchar(100);フィールドの数値を変更する
alter table (テーブル名) add index email (email);index(索引)を追加する
alter table (テーブル名) drop index email;index(索引)を消去する
alter table (テーブル名) rename (変更するテーブル名);table名を変える
select users.name, posts.title from users, posts where users.id = posts.user_id;
複数のtableにまたがって指定していく場合は(table).(field)
select users.name, posts.title from users, posts where users.id = posts.user_id order by posts.created #####desc;
order byを組み合わせをした場合
mysql -u (ユーザー) -p (データベース名) < ファイル名;=外部のテキストファイルにコマンドを保存して#####使う方法
例 mysql -u dbuser -p blog_app < commands.sql;
mysqldump -(ユーザー名) -p (データベース名) >データベース名.dump.sql=バックアップをとる
例 mysqldump -u dbuser -p blog_app > blog_app.dump.sql
mysql -(ユーザー名) -p (データベース名) <データベース名.dump.sql=復元
例 mysql -u dbuser -p blog_app < blog_app.dump.sql
fukumone
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away