sakuraを使いこなそう!~基本編~
この記事は弥生 Advent Calendar 2022の17日目の記事です。
はじめに
こんにちは。弥生でQAエンジニアをしています。nakanennです。
どんな仕事をしているのかは下記記事をぜひ参照ください!
弥生のQAエンジニア 品質戦略リーダー(QL) 紹介 - 弥生開発者ブログ
サクラエディタ?
皆さんはサクラエディタをご存じでしょうか?
「名前も知ってるし入れてるんだけどメモ帳としか使えてないんだよねー」
なんて方も多いのではないでしょうか。かつての私もそうでした。
でも、チョットだけ使い方を知るだけで日常の業務が効率的に進められるかもしれません。今回は私が使ったことのある機能で便利だなーと思った機能を紹介したいと思います!
もしこの記事を読んで一つでも使えそうだなと思うもよし、もう自分知ってたわという方はドヤ顔するのもよしの三方よし(違う)の世界でよろしくお願いします!
インストールまだだよーって人はこちらからぜひに!
とりあえずひらいてみた
まず、サクラエディタにはどのような機能があるのでしょうか?タブを開いてみました。色々ありますねぇー!
ファイルタブやウィンドウタブは見ただけで操作感などわかるかなと思い省略した上で、私がよく使い便利だなと思った機能を桃色の枠で囲ってみました!
技術を学ぶときって、画像付きの方がわかりやすかったり、実際に操作した方が覚えたりするかなと思うので、今回は
これらの機能を使いつつ、CSVファイルを作成し、DBに食わせる
といったことを行ってみたいと思います♪
食わせるためのデータをおいしく調理しよう
ではまず、データを用意しましょう。今回はこちらからデータを拝借しました。
ざっと4000件のデータが入ったxlsファイルが開けました。ここでDBに食わせるために問題が。このまま食わせたらアブナイ気しかしない。取り扱い注意。
よし、CSVファイルにして、おいしそうに調理して食べさせてあげよう。
まあExcel上でも作れたりはするのですが、、ちゃんと文字コードとかも見えた方が調理する側も安心なのでひとまずSakuraに貼り付けました。
どーーーん!
見にくいけれど、貼り付けられました。ついでなのでちょっと検索してみましょう。Ctrl+Fやタブのところで選択して検索できます。
今回は「プライム」と入力して検索しました。
SakuraもExcelのように全て検索→次を検索で一致したところをどんどん表示できます。正規表現も使えます。なので、例えばエラーログファイルを張り付けてIDなどアタリをつけて検索するとあっという間にたどり着けます。
Diff差分表示もできるので活用すると作業短縮できそうですね!
次に矩形選択を行いたいと思います。
ここだけ変換したいとか、削除したいとかここの範囲に文字追加したいんだよねといったとき、あると思います。sakuraもできます。
altキー押し続けながらマウスで引っ張ったり、altキー押しながら矢印キー→で選択できます。こんな感じに!
Deleteキー押せばこんな感じで一発で削除できます。
間違えたとしてもタブの戻るキーで戻せますのでご安心を。
次にCSV作成に向けて、データをカンマ区切りに変換していこうと思います。
そこで役に立つのが置換です!
置き換えたい文字を選んで、置換機能を選択しましょう。すると置換前に自動で文字を入れてくれます。もちろん手入力で文字や正規表現を書くこともできます。
置換後にカンマを入れて、、、
該当行マークボタンポチ―
からの全て置換ッ!(怖くない人はいきなり全て置換も可)
置換がたったの1秒です。素晴らしいですねぇ!
他にも文字コードが一瞬で変換できたり
タイプ別変更でデータが見やすいように調整もできます!
データはおいしく作れたかな?
こうして作ったCSVファイルを満を持して食わせようとしたのですが、、、
大変申し訳ございません。テーブルの設定やCSVのデータ編集で一部整合性が取れずエラーになってしまいました。一旦取り込めたらこちらの記事差し替えさせてください。。。おいしくないです。。。
一旦休息を取り、原因を考えていました。文字コードは合わせた、改行も間違っていない(SQLのエラーでそこは指摘されていない)、エラーがなんかデータ切り捨てましたみたいなこと言ってる。。?
と元データのデータ長を見て、はっきりしました。はみ出してました。
nvarchar(50)で設定していたら、はみ出してました。
何文字入ってくるか数えるの面倒だなとサボったのが運の尽きでした。
本当はこんな事やってはいけません。もっとスマートなテーブルを作りましょう。
大反省です。
ただ、今回は今後活用するか不明なテーブルに大量データをとりあえず入れた実績が欲しかった(BULK INSERTの処理の早さを見てみたかった)だけなので、別途無敵モードなテーブルを作りました。これなら入るやろ!!
はい、無事入りました。処理は爆速でした。ほんととても。
はみ出した子も仲間入りです。
CSVファイルの1行目はヘッダ部になるので除いて、
データ件数がCSVファイルとDBで4226件で一致していますね!
やっとおいしくなりました!長く煮込み過ぎました。
さらなる高みを目指して近いうちにテーブルを美しくしていきたいです。ALTER TABLE文の出番ですね!
以下、練習でやっていたバージョンを再実行し添付しますのでやりたかったことをくみ取ってもらえると幸いです。
過去の遺産として残しておきます。BULK INSERTに興味を持った方は以下のようにまずはデータ少なめで実施してみると取っつきやすいです。
sakuraでCSVファイルの元となるデータを作り終えたら、ファイル→名前を付けて保存→ファイル名:Seito.csv、ファイルの形式は全てのファイルで保存すると、CSVファイルが作成されます。
実行前のテーブルを確認しておきましょう。データが6件入っています。
BULK INSERTで作成したCSVファイルを読み込ませます。
再度テーブルを見てみましょう。CSVファイルが取り込まれデータが登録されていますね!!
以上、Sakuraの初級編で機能を活用しながらCSVファイルを作成しDBにデータを登録するお話でした!私はテストする上で上記のようにテストデータを作ったりログをDiffで比較したり目当てのログを抽出してエビデンスとしたりしていました!
Sakuraにはもっとたくさんの便利機能があります(^▽^)/
機能を活用する事で日々の業務の効率化に繋がったり、自己研鑽でいろいろ学ぶ際のサポートツールとして使ったりちょっと興味を持って使ってもらえると、これ使えるじゃんといった良いコトがあるかもしれません。
私は今回Sakuraを活用しながら初めてBULK INSERT文を書いてみましたが、けっこう楽しかったです。
最後までお読み頂きありがとうございましたー!