トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

MySQL

 ユーザ作成(GRANT以外の権限)

GRANT ALL PRIVILEGES ON *.* TO username@localhost IDENTIFIED BY 'password';
  • この場合、localhostからしかアクセス出来ない。
  • 最後に"WITH GRANT OPTION"を付けると管理者権限と同等になる。

 プロセスの強制終了

mysql> SHOW PROCESSLIST;

でIdを確認し、

mysql> KILL <Id>;

でプロセスを強制終了する。

 情報確認

  • データベース一覧
SHOW DATABASES;
  • テーブル一覧
SHOW TABLES FROM db;
SHOW TABLES;         //現在使用しているDBのテーブル一覧
  • カラム情報
SHOW COLUMNS FROM table;
SHOW COLUMNS FROM table LIKE 'f%'; //条件式

//同義語
SHOW FIELDS FROM table;

//ショートカット
DESCRIBE table;
DESC table;     //省略形

 SELECT

  • UNIX timeのデータをdatetime型で取り出す
SELECT FROM_UNIXTIME(unixtime) AS datetime FROM table;
  • datetime型のデータをUNIX timeで取り出す
SELECT UNIX_TIMESTAMP(datetime) AS unixtime FROM table;

 CSVファイルの流し込み

  • 通常
LOAD DATA INFILE "hoge.csv" INTO TABLE table;
  • カラム指定
LOAD DATA INFILE "hoge.csv" INTO TABLE table (id,name,birthday);
  • 区切りや改行コードの変更
LOAD DATA INFILE "hoge.csv" INTO TABLE table FIELDS TERMINATED BY "," LINES TERMINATED BY "\r\n";
  • 注意事項など
    • NULLにしたい場合はCSV側の値を\Nにする

 レコード追加

  • 通常
INSERT INTO table (name,memo) VALUES ('hoge hogeo','ほげほげ');
  • 追加もしくは更新
    • id=123が存在しなければnum=0で初期化、存在していればnumを+1する
INSERT INTO table (id,num) VALUES (123,0) ON DUPLICATE KEY UPDATE num=num+1;
    • id=123が存在しなければnum=5で初期化、存在していればnumを+5する
INSERT INTO table (id,num) VALUES (123,5) ON DUPLICATE KEY UPDATE num=num+VALUES(num);

 レコード修正

  • 通常
UPDATE table SET name='hoge', flag=1;
UPDATE table SET name='hoge' WHERE flag=1;
  • CASEによる条件式
    • flag=0ならname=NULL、flag!=0ならname='unknown'
UPDATE table SET name= CASE WHEN flag=0 THEN NULL ELSE 'unknown' END;
    • name=NULLならflag=0、name!=NULLならflag=1
UPDATE table SET flag= CASE WHEN IS NULL name THEN 0 ELSE 1 END;

 レコード削除

DELETE FROM table WHERE flag=0;

 テーブル修正

  • カラム追加
ALTER TABLE table ADD column TEXT;
ALTER TABLE table ADD column TEXT AFTER hoge;
ALTER TABLE table ADD column TEXT FIRST;
  • カラム変更(名前変更あり)
ALTER TABLE table CHANGE column new_column INT;
  • カラム変更(名前変更なし)
ALTER TABLE table MODIFY column INT;

Last modified 2013-01-17 15:38:45