キムラデービーブログキムラデービーブログオープンソースデータベースを加速する「キムラデービー」のブログです。カレー日記を兼ねてます。著者は2010-06-01より日本オラクルに在籍していますが、本サイト(ブログ、またはウェブサイト)において示されている見解は、私自身の見解であって、オラクルの見解を必ずしも反映したものではありません。Wednesday[#ouchidbボツ原稿シリーズ]縦横に長い表を画面表示に収めるには?0ミックさんとの共著「おうちで学べるデータベースのきほん」はおかげさまで好評です。そのうちのいくつかをひろって供養したいと思います。■縦に長い表編クエリの結果の行数が何行になるかは、クエリを実行してみないとわかりません。事前にcount(*)を発行して行数を知って、それが画面表示に収まらないとわかったとしても、行数を指定して取得する方法は長らくSQL標準にはありませんでした。MySQLでは古くからLIMIT句を用いてクエリの結果行から指定行数を表示することができるようになっています。5を追加することによってクエリの結果行の先頭から5行だけ表示することができます。n,mという形で指定して実行できます。10,5」と変えていくだけで実現できます。BYの後に指定することになります。BY7.LIMITLIMIT句はSQL標準ではありませんが、MySQLとPostgreSQL、IBMのMySQL互換モードONにて利用できます。12c)でサポートされています。このように主要なRDBMSではかならポピュラーな実装になってきましたが、ここで言及した以外のRDBMSや古いバージョンの場合には独自実装により実現していたり、代替クエリにて実現している場合があります。次のブログエントリに主要なRDMBSでの指定方法がまとめられていますので、ご参照ください。上記のブログエントリは少し古いので、最近の主要なRDBMSについては、次のエントリもご参照ください。これも含めてDB2でのびっくりしたことは以下のブログエントリ(英語)をご参照ください。一般的なRDBMSではMySQLにmysqlコマンドクライアントが存在するように、CUIにて対話的にサーバとやりとりするためのツールが添付されています。そのようなクライアントは横幅が少ないため、カラム数の多い表を表示しようとすると、一行が画面内で何度も折り返されて大変読みにくく表示されてしまいます。カラム数の多いcountry(国)テーブルをLIMIT句を用いて二行表示されると以下のような表示になってしまいます。sec)一部のコマンドクライアントツールにはSELECT文で得られる結果セット表示を行ごとに縦表示にする機能があります。本機能は単純にCUIでの表示の機能だけでり、発行されるSQLやそれによって戻ってくるデータが変わってくるわけではありません。MySQLでは通常デリミタとしてつかう;の代わりに¥Gを利用することにより、行ごとに縦表示にできます。先ほどと同じクエリを¥Gにすると次のような見易い形で表示できます。Poder氏が作成したTPTスクリプト内のpr.sqlなど)していたりしますので、コマンドラインツールを多様する方はご自分が利用されているコマンドラインツールに同様の機能がないかチェックしてみてください。Oracle用の表示については、以下のブログエントリが詳しいです。データを更新(更新、挿入、削除)してみよう。」に配置することを想定してかかれ、ボツになったものです。|コメントコメントするname:email:url:comments:Cookieに登録この記事のトラックバックURLトラックバック機能は終了しました。»)100人のうちの一人としてミックさんの本を推薦しています。克信ここにきてまさかの復刊。システム構築の新スタンダード。Bini大場夫妻渾身の一冊。内容は少々古くなりましたが、内部説明があり、いろいろ面白いです。幹也これまでにない構築、そして構築後のMySQLのための本。Gehrkeミックさん連載の参考書籍です。いいつつ私が読んだのは初版の日本語訳です。差分はチェックしないといけませんね。SX260のHD換装用に購入。SX260の換装用に購入。SX260の換装用に購入。今はコチラのほうが安いですね。FowlerOSC2010神戸に出展されたジュンク堂で買いました。»)メガトン級の過去記事。