MySQL

MySQL備忘録

キャッシュのクリア

mysql> RESET QUERY CACHE; 

キャッシュの確認

Qcache_queries_in_cacheがキャッシュに登録されたクエリ数なので、この値が0になっていれば、キャッシュはクリアされている。

mysql> SHOW STATUS LIKE 'Qcache%';

インデックスの確認

mysql> show index from [テーブル名];

sql結果のcsv出力

postgresはコマンド実行時にオプション指定できるのだけど、mysqlはsqlに出力ファイルとセットで組み込まないといけないので残念。
into outfile 出力ファイル名
fields terminated by セパレータ
optionally enclosed by 文字列型の囲み文字(数値型は囲われなかった)

mysql> select * from hoge into outfile "/tmp/hoge.csv" fields terminated by ',' optionally enclosed by '"';

auto_incrementの変更

確認:AUTO_INCREMENTカラムの値を確認

mysql> show table status like '[テーブル名]';

変更:設定した値が次に割り当てられる数。

mysql> alter table [テーブル名] auto_increment=[数字];

ファイルのsql実行(mysqlコマンドで)

※-pのあとはスペースしない
 -pのあとにパスワードを入力しない場合、対話形式でパスワードを入力する
※utf-8の場合

$ mysql -h [ホスト名] -u [ユーザ名] -p[パスワード] --default-character-set=utf8 [データベース名] < [入力ファイル名]

ファイルのsql実行(mysqlコマンド後)

mysql > source [ファイル名]

エクスポート

※-pのあとはスペースしない
 -pのあとにパスワードを入力しない場合、対話形式でパスワードを入力する

$ mysqldump -h [ホスト名] -u [ユーザ名] -p[パスワード] [データベース名] > [出力ファイル名]

コマンドラインからSQL実行

※-pのあとはスペースしない

$ mysql -u [ユーザ名] -p[パスワード] [データベース名] -e [クエリ]

ログイン

※-pのあとはスペースしない
 -pのあとにパスワードを入力しない場合、対話形式でパスワードを入力する

$ mysql -h [ホスト名] -u [ユーザ名] -p[パスワード] [データベース名]