*MySQL [#sc0ad660]
#contents
&tag(MySQL,サンプル,罠);
**GUIツール(無料) [#ed354054]
-欲しい機能
++クエリエディタ(SQL)と実行結果を同じ画面で見られる
++SQL整形

|~ツール名|~エディタと結果が同じ画面|~SQL整形|~備考|
|[[DBViewer:http://www.ne.jp/asahi/zigen/home/plugin/dbviewer/about_jp.html]]|CENTER:○|CENTER:○|Eclipseのプラグイン。Eclipseを使用しているならインストール必須&br;SQL整形機能もあり|
|[[phpMyAdmin:http://www.phpmyadmin.net/home_page/index.php]]|CENTER:○|CENTER:○|最初から日本語対応。&br;テーブル作成とか権限設定とかに便利。&br;&color(red,※PHPとWebサーバーが必要);|
|[[Navicat Lite:http://www.navicat.jp/premium/download/index_lite.html]]|CENTER:×|CENTER:×|スタンドアロンアプリなのでサクサク動作。&br;テーブルの設計をGUIで可能&br;プロシージャの設計がウィザードで可能(テストが簡単に出きる。デバッグは無し)&br;SQL入力画面と実行結果が同時に表示できないので使いにくい。&br;&color(red,※ダウンロードするのに登録が必要);|
|[[MySQL Query Browser:http://dev.mysql.com/downloads/gui-tools/5.0.html]]|CENTER:○|CENTER:×|スタンドアロンアプリなのでサクサク動作。&br;登録が必要に見えるけど、「No thanks, just take me to the downloads!」のリンクを押せば普通にダウンロードできる。&br;&color(red,※日本語入力に難有り(日本語を入力欄にコピペしたらフリーズしたりする)。);表示は問題無し。&br;テーブルの設計が見られない。|
|[[sqlyog:http://code.google.com/p/sqlyog/]]|CENTER:○|CENTER:△|左ペインにDB・テーブル一覧、右ペインにクエリエディタ右下に結果。&br;良さそうだけど、有料のみ?30日トライアルかな。SQL整形は有料|
|[[HeidiSQL:http://code.google.com/p/heidisql/]]|||メモ:未使用なので使い勝手わからず|
***SQL整形 [#x4ac31db]
|~ツール|~備考|
|[[DML Breaker:http://sourceforge.jp/projects/format-sql/]]|HTMLとJavaScriptで作成されているのでブラウザがあればOK|

***MySQL Query Browser [#l790faf6]
実行時にステータスバーに表示される値の説明
 50 rows fetched in 0.00021s (8.4171s)
[行数] rows fetched in [サーバーからクライアントに戻した時間] ([クエリ実行時間])


** 階層化されたデータをMySQLで扱う [#kaba2855]
[[mysql:12071:http://www.mysql.gr.jp/mysqlml/mysql/msg/12071]]
**携帯絵文字をDBに入れる [#y5402067]
***データベースの文字コードを「cp932_japanese_ci」にする [#ida4f009]
 CREATE DATABASE `db_name` DEFAULT CHARACTER SET cp932 COLLATE cp932_japanese_ci;
**コマンドリスト [#w70081a6]
***登録済ユーザ、パスワード確認 [#c75cf03b]
 select user,host,password from mysql.user;
***SSL通信ができるかどうかの確認 [#kbe7fc79]
 SHOW VARIABLES LIKE 'have_openssl';
***auto_incrementの値を取得する [#c8951078]
 SELECT MAX(auto_increment_column)+1) FROM target_table
***[[auto_incrementの値を1に戻す方法:http://d.hatena.ne.jp/ginpei/20070703/1183443566]] [#q705afbd]
 alter table <<tablename>> auto_increment=1;

**クエリログ [#aea0438f]
***リクエストされたクエリのログを取得する [#hb36b075]
[[MySQL4マニュアル:http://dev.mysql.com/doc/refman/4.1/ja/query-log.html]]
 mysqld  内で何が発生しているか確認したい場合には、--log[=file]  オプションを使用して mysqld を起動します。これにより、すべての接続とクエリがログファイル(デフォルトは 'hostname'.log)に記録されます。

**罠 [#f9aae6f4]
***チルダ・波ダッシュの罠 [#dad3c0b1]
[[波ダッシュ(Wikipedia):http://ja.wikipedia.org/wiki/%E6%B3%A2%E3%83%80%E3%83%83%E3%82%B7%E3%83%A5]]

-~(チルダ)
-~(波ダッシュ)

UTF8からEUCやSJISに変換するとき、変換テーブルの関係で思ったように表示されない。
例の一つとして、「~」がある。
UTF8で「~」を入力することで、SJISで「~」を表示することが可能。