カテゴリー
SugiBlog ホームページ制作・システム開発|大阪

テーブルの不一致データ参照

テーブルAにあってテーブルBにないデータを見つけたいとき、
ACCESSでいうところの「不一致クエリ」を使います。

select TABLE_A.* from TABLE_A 
left join TABLE_B on TABLE_A.ID = TABLE_B.ID 
where (TABLE_B.ID Is Null);
3,871 views

MySQL CSVファイルの入出力

一発で出来て便利な方法を見つけたので、書いておきます。
ただ、入力の場合、フィールド数は同じである必要があります。

【出力】
書式

SELECT * FROM [TABLE] INTO OUTFILE "[ファイルのパス]" FIELDS TERMINATED BY "[区切り文字]" OPTIONALLY ENCLOSED BY '[囲み文字]' LINES TERMINATED BY "[改行コード]";

MySQLで実行する場合

SELECT * FROM [TABLE] INTO OUTFILE "[ファイルのパス]" FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\r\n";

PHPで実行する場合(SQL文以外省略しています)

select * from [TABLE] into outfile \"[ファイルのパス]\" fields terminated by \",\" optionally enclosed by '\"' lines terminated by \"\r\n\"

【入力】

load data infile \"[ファイルのパス]\" into table [テーブル名] fields terminated by \"[区切り文字]\" enclosed by '[囲み文字]' lines terminated by \"[改行コード]\"

MySQLで実行する場合

LOAD DATA INFILE "/tmp/temporary.csv" INTO TABLE TABLE FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\r\n";

PHPで実行する場合(SQL文以外省略しています)

load data infile \"/tmp/temporary.csv\" into table TABLE fields terminated by \",\" enclosed by '\"' lines terminated by \"\r\n\"
3,676 views

ソートの複数指定 SQL

複数のフィールドでソートをしたい場合、order by句にカンマで区切り、指定します。

例)「field1」で昇順に並べ替え、「field1」が同じ値であれば「field2」を降順に並べ替えます。

select * from tablename order by field1, field2 desc

※昇順・降順はフィールド毎に指定する
上の例で「field1」も降順にしたい場合は

select * from tablename order by field1 desc, field2 desc

とする

1,563 views

MySQLコマンド

mysql -u root -pと入力し、パスワードを聞かれるので入力。
show databasesで情報を表示。
useコマンドでDBを選択。
show table statusでテーブル情報を表示。

1,524 views