「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に限らず、どんなツールを使うときでも言えますね。
常に慎重に。初心忘るべからずで開発していきましょう!
ではまた!