トップ   編集 凍結 差分 バックアップ 添付   新規   最終更新のRSS

mysql/sql

Last-modified: 2010-07-29 (木) 16:14:22 (2d)
Top / mysql / sql

sqlメモ

複数テーブルの更新

update table1,table2
set
 table1.col1 = 'aaa'
,table1.col1 = table2.col1
where table1.key = table2.key

複数テーブルの削除

delete table1,table2
from table1,table2
where table1.key = table2.key

CSVファイルのやりとり

SQLの結果をタブ区切りのテキストに出力する

mysql> SELECT * INTO OUTFILE '/tmp/test.csv' FROM テーブル名

テキストに出力したデータをテーブルにinsertする

mysql> LOAD DATA (LOCAL) INFILE '/tmp/test.csv' INTO TABLE テーブル名

カンマ区切りのcsvデータをインポート

mysql> LOAD DATA (LOCAL)
INFILE '/tmp/test.csv' INTO TABLE テーブル名 
CHARACTER SET cp932
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n' ;

SQLの結果をcsvファイルに出力する

mysql> 
SELECT * INTO OUTFILE '/tmp/test.csv'
CHARACTER SET cp932
FIELDS 
TERMINATED BY ','
ENCLOSED BY '"' 
ESCAPED BY '\\'
LINES
TERMINATED BY '\r\n'
FROM テーブル名;

出力ファイルの所有者はmysqlユーザーになるため、ログインユーザーの権限によっては出力後にファイルの読み取りしかできなくなることがあるので注意

  編集