超便利なSQL開発ツール「A5:SQL」に潜む、超危険な罠!

  • このエントリーをはてなブックマークに追加
皆さん、「A5:SQL」というツールはご存じですか?
とても便利なツールで、私はものすごく重宝しています!
今回はそんな「A5:SQL」のご紹介と、
使うときの注意点をまとめてみました。
気になったらぜひ使ってみてください!

 

「A5:SQL」 とは

公式サイトには「 高機能かつ軽量な汎用SQL開発ツール」と書かれています。
本当にその通りで、SQL、データベース回りの開発でやりたいことが
汎用的になんでもできちゃう、高性能なツールです。

 

↓公式サイトはこちら↓

https://a5m2.mmatsubara.com/

こちらのサイトからダウンロードして使うことが出来ます。
もちろん無料
※セットアップ方法などは今回は割愛します。
※Windows専用ソフトなのでMacでは使えないようです。

何ができるの?

主な機能を紹介します。

①データベースを視覚的に操作可能

A5:SQLのメインの機能は画像のように視覚的にテーブルを操作できることです。
色分けもされていてとても見やすいですね。

 

赤色のカラムは「PRIMARY KEY」、
黄色のカラムは「NOT NULL」、
青色のカラムはそれ以外、
という感じで色分けされています。

 

ちなみに同じテーブルを「phpMyAdmin」で見るとこんな感じです。

 

「phpMyAdmin」もとても便利なツールですが、こうして比べてみると、
圧倒的にA5:SQLの方が見やすいですね。

 

しかもA5:SQLは、まるでExcelを使う感覚手軽にフィールドの編集ができます。
※この「手軽に編集できる」という点で注意しなければいけないことがあるのですが、後述します。

②様々なデータベースに接続可能

MySQLにしか対応していない「phpMyAdmin」と違って、
A5:SQLは「Oracle Database」も「PostgreSQL」でも、なんでも接続することができます!
これがA5:SQLを使い始めたらもう手放せない大きな理由です!

③Excel、CSVとの親和性

先ほど「Excelを使う感覚でフィールド操作ができる」と書きましたが、

なんと実際にExcel形式やCSV形式でテーブルをエクスポート・インポートすることができます。

これで簡単にバックアップを取って、別の環境へインポートすることなんかもできます。

さらにExcel、CSVでセルをコピーして、そのままテーブルに貼り付けることもできます。

めちゃめちゃ便利ですね~

 

そのほかにもテーブル定義書やER図を作成したり、

もちろんSQLを実行することもできます。

実際に使って、色々試してみてください!

 

A5:SQLを使う際の注意点

さて、そんな便利なA5:SQLですが、

便利すぎるゆえに注意しなければいけないことがあります。

これは実際に私が使っていた時にやらかしてしまったミスでもあるので、

これから使おうと思っている人、

今まさに使っている人は、

私と同じミスをしてしまわないように、ぜひ一読ください。

 

①安易にコピペしないこと ~NULLと空文字に注意~

先ほど紹介したように、A5:SQLはExcelやCSVから簡単にコピペができるので、

慣れてくるとつい感覚がマヒして安易な操作をしてしまうことがあります。

 

私がやらかしてしまったミスはNULLと空文字の違いによるものです。

 

まず、このようなテーブルが開発環境にありました。

これを本番環境に移行するために、テーブルをCSV形式でエクスポート。

そしてCSVのセルを全てコピーして本番環境へ貼り付け……

「はい、できた~~楽勝!」

…と思いきや、本番にデータが反映されない!!

あれ!?なんで??

 

テンパりながら、しばらく開発環境と本番環境のテーブルを見比べてやっとわかりました。

開発環境ではNULLが入っていたところが、コピペした本番環境では空文字が入っていたのです。

本来NULLで扱わなければいけないフィールドに空文字が入ってしまったことで、

エラーになってしまったのでした。

原因が分かったことで、やっと冷静になり、今度はコピペではなく、

CSV/TSVからデータをインポート」を選択して、「空の文字列をNULLとして扱う」にチェック。

これで正しい形式でインポート出来ました。

NULLと空文字以外にも、改行コード日付の形式などが悪さをしてしまうことがあるので、

安易にコピペをせずちゃんと確認してインポートをするようにしましょう。

また、「テーブルを空にして読み込む」(TRUNCATE)こともできますが、

その際は「トランザクション制御を行う」に必ずチェックを入れるようにしましょう。

 

②バックアップは完璧!…と思いきや

次に注意しなければいけないことは、大量データを扱うときです。

 

次のようなテーブルのバックアップを取ったときのことです。

いつも通り「CSVでデータをエクスポート」を選択してテーブルのバックアップを取りました。

「これで大丈夫!」と思いきや、何かおかしい…

データが少ない!全件バックアップが取れていない!

このテーブルには1万件以上のデータが入っていたのに、

バックアップ用で出力したCSVには1万件ちょうどしか出力されていなかったのです。

A5:SQLは1万件以上のデータが入っているテーブルを表示するときは、

1万件ずつ表示するようになっていて、

全件表示するには「件数制限なしで再取得」を選択しないといけません。

   

この「件数制限なしで再取得」をしない状態でエクスポートしたら、

表示されている1万件しかエクスポートされないようになっていました。

ちゃんとバックアップを取ったつもりでいても、これでは意味がないですね…

危なかった~

 

まとめ

いかがだったでしょうか。

今回は便利なSQL開発ツールA5:SQLのご紹介と、

使うときのちょっとした注意点をまとめてみました。

 

便利さに慣れすぎてしまい、安易な操作をしてしまうと、

思わぬところに落とし穴があることが良くわかりました。

 

これはA5:SQLに限らず、どんなツールを使うときでも言えますね。

常に慎重に初心忘るべからずで開発していきましょう!

 

ではまた!

  • このエントリーをはてなブックマークに追加