MySQLのコマンド操作

Login

最近のバージョンでは-pの後にパスワードベタ書きができなくなったようです。-pPASSWORD こういうやつ。
-hのホスト名を省略すると自動的にlocalhostになります。

mysql -u [USERNAME] -p -h [HOSTNAME]

DB

DB名を表示する

ログインしたユーザーが操作できる権限のDBが表示されます。rootだと全部。

mysql> show databases;

DBを選択する

DB選択しないと中身の操作できません。

mysql> use [DBNAME];

Table

DB内のテーブルを表示する

mysql> show tables;

テーブル削除(要注意!)

こっちは物理的にテーブルごと削除されます。

mysql> drop table [TABLENAME];

テーブル内のデータ削除(要注意!)

Dropと違ってデーブル構造は残したまま、中のデータをすべて削除します。AUTO_INCREMENTは保持されます。

truncate table [TABLENAME];

AUTO_INCREMENTを戻す

AUTO_INCREMENTの初期値を設定します。1000に設定すると1000から加算されてゆきます。普通にやるときは1に設定。

alter table [TABLENAME] AUTO_INCREMENT = 1000;

User / Grant

DBに権限とパスワードを設定する

作成したDBにユーザーとパスワードを作成し、さらにDBにひも付けます。ユーザーは別途作成しなくてもこのコマンひとつでOKです。

grant all privileges on [DBNAME].* to [USERNAME]@[HOSTNAME] identified by '[PASSWORD]' with grant option;

ユーザーの確認

select user,host from mysql.user;

passwordも入れておくと同じパスワードかどうかわかります。

Select / Insert / Update / Delete

Select

select [COLUMNNAME1] from [TABLENAME] where [COLUMNNAME2]=VALUE2;

Update

対象レコードのアップデート

update [DBNAME].[TABLENAME] SET [COLUMNNAME1]=VALUE1, [COLUMNNAME2]=VALUE2, where [COLUMNNAME]=VALUE;

Delete

対象レコード削除

delete FROM [DBNAME].[TABLENAME] WHERE where [COLUMNNAME]=VALUE;

いろいろな操作

テーブルカラム表示

show columns from [TABLENAME]

データ属性など

Indexしているカラムの検索 (おもに主キーにくっついていることが殆ど)
Index_typeはたいていBTREE

use [DBNAME];
show index from [TABLENAME];
Last update: 2017.06.05 (月)