joppot

コピペで絶対動く。説明を妥協しない

プログラミング

MysqlのSELECT FROMの結果を美しく、見やすく表示する

投稿日:

Pocket

waのコピー

概要

みなさんこんにちはcandleです。今回はmysqlのデータベースに関する簡単な記事です。
データベース系の言語は最近、様々出てきましたが、私は未だにMysqlくらいしか触っていません。

私はphpもmysqlを使っているしrailsもmysqlを使っています。

mysqlでよく使う構文といえば、select文update文insert文が多いのではないでしょうか。その中でも特に多いのがデータを持ってくるselect文だと思います。このselect文、面倒くさいのでだいたい、テーブルに収まっている全ての要素を持ってきます。下のようにクエリーを投げますよね。

SELECT * FROM テーブル名;

上のクエリーの結果、表示される内容はMysqlの要素が多いとゴチャゴチャに出てきます。

この問題を解決しましょう。

前提

Mysqlが自由に使える

SPONSORED LINK


Mysqlのサンプルデータを用意する

このデータは必ずしも用意しなくても構いません
適当な、データベースに下のテーブルとレコードを収めましょう。私はいつも、alltestデータベースにおさめています。

-- テーブルの構造 `users`

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `password` varchar(255) NOT NULL,
  `age` int(10) NOT NULL,
  `gender` varchar(10) NOT NULL,
  `food` varchar(100) NOT NULL,
  `country` varchar(10) NOT NULL,
  `hobby` varchar(20) NOT NULL,
  `created` datetime NOT NULL,
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

--
-- テーブルのデータのダンプ `users`
--

INSERT INTO `users` (`id`, `name`, `password`, `age`, `gender`, `food`, `country`, `hobby`, `created`, `modified`) VALUES
(1, 'alice', 'lalalalalalal', 10, 'female', 'ハンバーグ', 'UK', 'お茶会', '2014-02-14 05:29:13', '2014-04-25 08:18:57'),
(2, 'bob', 'lolololololo', 12, 'male', 'カレーライス', 'UK', 'ゴルフ', '2014-02-17 21:11:44', '2014-04-25 08:19:13'),
(3, 'tom', 'beeeeeeeeee', 15, 'male', 'スパゲッティ', 'US', '旅行', '2014-02-18 04:37:07', '2014-04-25 08:19:28');

MAMP

用意ができました。

SELECT * FROMを美しく、見やすく表示する

Mysqlにログインしましょう。データベースを選び、サンプルデータを見てみます。

show tables;

1. mysql

試しに、一般的なselect * fromをやってみましょう。

SELECT * FROM users;

結果は下のように表示されます。
1. mysql-1

次にMysqlクエリーの最後のセミコロンの代わりに「 \G 」を付けてみましょう。

SELECT * FROM users\G

1. mysql-2

どうでしょうか?
美しく結果が表示されましたね。


まとめ

データベースに収まっているレコードを調べたい場合などに大活躍する「 \G 」を使っていきましょう。
 

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-プログラミング
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Twitterbootstrap3の開発環境構築とファイル配置、テンプレートを試す

概要 みなさんこんにちはcandleです。今回はtwitterbootstrap3のダウンロードを行い、ファイルを配置して、開発できる様に準備します。 twitterbootstrap3は最近リリース …

railsのaws-sdk gemを使ってs3のフォルダ(folder)を削除する

概要 みなさんこんにちはcandleです。今回はs3にあるフォルダを丸ごとrailsのaws-sdk gemを使用して削除してみたいと思います。 実はこの方法を確立するまですごく四苦八苦しました。なん …

Mysqlのdatetime型とtimestanp型で保存されているデータを年月日だけを指定して任意の日にちのデータを取得する方法

概要 みなさんこんにちはcandleです。今日はmysqlのdatetime型とtimestanp型におさめられているデータの取得を紹介します。 datetimeやtimestanpは多くの場合下のよ …

ruby on railsで出力されるlog(ログ)のフォーマットを変更する

概要 みなさんこんにちはcandleです。今回はrailsのログに関する記事です。railsは決まった記述でログを出力します。 webアプリケーションを実行中におかしな挙動が合った場合はこのログをもと …

ruby on railsのckeditorをdeviseを用いて複数人で投稿できるようにする

概要 みなさんこんにちはcandleです。今回はckeditorの複数人投稿機能をdeviseを用いてやってみたいと思います。ckeditorを使うと分かると思うのですが、誰でも画像のアップロードや削 …

  • English
  • 日本語

プロフィール


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー

スポンサードリンク

アーカイブ