それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

SQLでecho/print するための代替方法

SQL で記述しているとecho が無い。

あれこれSQLを書いてまとめて流しているとコメントを出力したいことがある。

SELECT * from A;
SELECT * from B;
SELECT * from C;

などとしていると、途中で改行を挟んだり、クエリがなんだっけとなるのです。

コメントを入れても出力されない。echo したい・・・

こういうことがやりたい→出来ない。
echo テーブルAの中身
SELECT * from A;
echo テーブルBの中身
SELECT * from B;
echo テーブルCの中身
SELECT * from C;

SELECT を工夫してみました。

select 'Hello World' as '' ;

select as カラム名を指定しないとカラム名の出力がされないので、print したっぽいくなる。

これを利用して

SQL で echo / print 関数っぽいことをやる

select '##  A ' as '';
select * from A ;
select '## B ' as '';
select * from B ;
select '## A,B ' as '';
select * from A , B;

実行結果

takuya@:SQL-JOIN$ mysql  example < sample1.sql
Password:

## A
id  title
1   A1
2   A2
3   A3

## B
id  name
1   B1
3   B3

## A,B
id  title   id  name
1   A1  1   B1
1   A1  3   B3
2   A2  1   B1
2   A2  3   B3
3   A3  1   B1
3   A3  3   B3

うん、それっぽくなって、SQLを次々と実行して出力結果を試すのが楽になったよ!