DBeaver-CE入門(3) – データの登録
前回作成したデータベースにデータを登録(追加)していく。データを登録(追加)する方法は、DBeaverで登録、SQLによる登録、CSVファイルからの登録の3つの方法がある。登録(追加)の頻度が少なければ、DBeaverやSQLを使った登録でよいが、すでに多くのデータが存在する場合は、CSVファイル形式にしてインポートするほうがよい。
ここでは、それぞれの方法を紹介しよう。
SQLによる登録
ここからは、2つのやり方がある。ひとつはSQLエディタから、SQLを記述していく方法。もうひとつは生成されたSQLを利用して必要な部分だけ入力する方法である。いちからSQLを記述していってもいいが、ここでは後者の方法を紹介する。
テーブルtbooksをクリックして、右クリックする。表示されるコンテキストメニューから、「SQLの生成(G)」を選択する。表示されるリストから「INSERT」を選択する。
Generated SQLで[コピー]をクリックする。
次にSQLエディタを実行して、コピーしたSQLを貼り付け、VALUEの()の中にデータを入力していくだけである。
登録するデータが複数ある場合は、もう一度SQLを貼り付けて入力する。ここでは、2件のデータを登録してみよう。貼り付けたSQLを少し変更していることに注目してほしい。1つのSQLで複数のデータを登録する場合に便利なやり方である。
登録するデータは次のとおりである。idとpageは数値、それ以外は文字列扱いになるので、シングルクォーテーションで囲む必要がある。
book_id | title | author | publisher | publish_date | page | isbn |
1 | 天文年鑑2021 | 天文年鑑編集委員会 | 誠文堂新光社 | 2020-11-27 | 384 | 9784416620518 |
2 | シナリオの基礎技術 | 新井一 | ダヴィット社 | 1985-11-10 | 344 | 9784804801759 |
入力したらCtrl+EnterでSQLを実行する。上記の例では2つのSQL文があるが、実行する場合はそれぞれINSERT文をクリックして実行する必要がある。
SQLに問題がなければ、下図のようになるはずである。
実際に登録されたか確認してみよう。テーブルtbooksをダブルクリックして、[データ]タブをクリックする。
正常に登録されていることがわかる。もし、入力したデータが間違っていれば、該当するセルをダブルクリックして値を変更すればよい。変更したら必ず、下部のツールパネルにある[Save…]をクリックして保存することを忘れないようにしよう。保存し忘れると変更が反映されないので注意が必要である。
DBeaverで登録(追加)
続けてデータを登録していく。今度はSQLを使用せずに登録していく方法である。Excelのワークシートでセルに入力されたデータを変更するやり方と同じである(F2キーは無効)。ここでは1件のデータを登録してみよう。最後の行、ここでは2行目をクリックし、下部ツールバーの[新しい行を追加]のアイコンをクリックするかAlt+Ins(Alt+Insert)を押す。新しい行が追加される。
もし、1行目と2行目の間に新しい行を挿入してしまった場合は、右クリックして、表示されるコンテキストメニューから[編集]を選択し、[現在の行を削除]を選択する。
入力するデータは次のとおりである。
book_id | title | author | publisher | publish_date | page | isbn |
3 | C#の絵本第2版 | 株式会社アンク | 株式会社翔泳社 | 2008-02-04 | 233 | 9784798151892 |
入力していく方法は、Excelのように→キーでセルにフォーカスを移動させてデータを入力するだけでよい。
Tabキーで切り替えてデータを入力することもできる。もとに戻すにはもう一度Tabキーを押す。
あとは下部ツールバーの[Save…]をクリックして保存して終わりである。
CSVファイルからインポートして登録(追加)
最後にCSVファイルからインポートする方法を紹介する。あらかじめ表計算ソフトで、入力したデータをCSV形式で保存して作成しておこう。Excelでなくとも、CSV形式で保存できる表計算ソフトであれば何でもよい。
book_id | title | author | publisher | publish_date | page | isbn |
4 | 1冊ですべて身につくHTML&CSSとWebデザイン入門講座 | Mana | SBクリエイティブ株式会社 | 2019-03-28 | 279 | 9784797398892 |
5 | ほんの一手間で劇的に 変わるHTML&CSSとWebデザイン実践講座 | Mana | SBクリエイティブ株式会社 | 2021-03-06 | 351 | 9784815606145 |
6 | 特別講座デザイン入門教室 | 坂本伸二 | SBクリエイティブ株式会社 | 2015-07-10 | 208 | 9784797351422 |
7 | いちばんやさしいGit入門教室 | 大澤文孝 | 株式会社ソーテック社 | 2019-08-31 | 239 | 9784800712462 |
8 | Vue.js3 超入門 | 掌田津揶乃 | 株式会社秀和システム | 2020-12-25 | 522 | 9784798063737 |
9 | いちばんよくわかるWebデザインの基本きちんと入門 | 伊藤庄平 | SBクリエイティブ株式会社 | 2017-03-01 | 247 | 9784815609610 |
10 | ちゃんとしたプロになる PHP基礎入門 | 柏岡秀男 | 株式会社エムディーエヌ コーポレーション | 2021-03-11 | 271 | 9784295201106 |
LibreOffice Calcで入力してみたものが下図である。入力で気をつけたいのはisbnであろう。表示形式に気をつけないと指数表示になってしまうことがある。指数表記だとCSV形式も指数表記になってしまう。いろいろと問題があるので、標準に書式を標準に設定し直しておく。表計算ソフトを使わずにテキストエディタを使用し、CSV形式でデータを入力しても構わない。
LibreOffice CalcでCSV形式で保存する際は注意が必要である。文字列部分にシングルクォートがつかないで保存されるからだ。これを避けるには[ファイル]→[名前を付けて保存(A)…]で保存ダイアログを表示させ、ファイル形式を「テキストCSV(.csv)」にして[保存]をクリックする。
どちらの形式で保存するか聞かれるが、[テキスト CSV形式を使用(U)]をクリックする。
ここでは、「フィールドの区切り記号(F)」と「区切り文字(G)」を確認する。もし、「区切り文字(G)」がダブルクォートの場合はシングルクォートに変更して[OK]を押す。
保存するファイル名を「DBeaver-Add-Sample-data.csv」としてCSV形式で保存して、テキストエディタで開くと次のようになる。1行目の項目名は必須である。なお、項目名はテーブルのフィールド名と一致していなければならない。一致していないと、フィールド名との整合性が取れずにインポート時にエラーとなる。
'book_id','title','author','publisher','publish_date','page','isbn' 4,'1冊ですべて身につくHTML&CSSとWebデザイン入門講座','Mana','SBクリエイティブ株式会社',2019-03-28,279,9784797398892 5,'ほんの一手間で劇的に変わるHTML&CSSとWebデザイン実践講座','Mana','SBクリエイティブ株式会社',2021-03-06,351,9784815606145 6,'特別講座デザイン入門教室','坂本伸二','SBクリエイティブ株式会社',2015-07-10,208,9784797351422 7,'いちばんやさしいGit入門教室','大澤文孝','株式会社ソーテック社',2019-08-31,239,9784800712462 8,'Vue.js3 超入門',' 掌田津揶乃','株式会社秀和システム',2020-12-25,522,9784798063737 9,'いちばんよくわかるWebデザインの基本きちんと入門','伊藤庄平','SBクリエイティブ株式会社',2017-03-01,247,9784815609610 10,'ちゃんとしたプロになるPHP基礎入門','柏岡秀男','株式会社エムディーエヌコーポレーション',2021-03-11,271,9784295201106
実際にインポートしてみよう。
テーブルtbooks上で右クリックして「データのインポート」を選択すると、次の画面になるので、データ転送で「CSV」になっていることを確認して、[次へ(N) >]をクリックする。
インポートするCSVファイルを選択して、[開く]をクリックする。
まだ、まだ、続くよどこまでもときたもんだ。インポートするCSVファイルの設定の確認である。たとえば、文字列はシングルクォートにしているなどの設定の変更があれば、ここで訂正することができる。問題がなければ[次へ(N) >]をクリックする。
テーブルマッピングはなにもせずに[次へ(N) >]をクリックする。
Data load settingsはデフォルトのままで問題がない。[次へ(N) >]をクリックすると、設定した内容の最終確認できる。[続行(P)]をクリックすると、最終確認せずにCSVファイルからデータをインポートする。
問題がなければ[続行(P)]をクリックしてCSVファイルからインポートする。インポートが成功すると、下図のように追加される。
もしエラーが表示されたら、[スキップ]または[All Skip]をクリックして、インポートを中止する。CSVファイルの内容を見直して原因を探る。今回のデータでは問題はないはずである。設定もすべてデフォルトのままで何ら変更はしていない。
CSV形式について述べる。今回は文字列の部分をシングルクォートにした。これはダブルクォートのままインポートするとダブルクォートもデータとして読み込まれたためである。WindowsやMacならExcelで出力すると、ダブルクォートになるはずである。確認できていないが、ダブルクォートもデータとして読み込まれた場合は、シングルクォートに変更してみるといいかもしれない。
次回は、今回でも少し触れていたが、データの変更や削除などの操作についてやっていく。