JavaEE 7をやってみよう。 SQLite/DBeaver その5
その4のつづき。
今更だけど、このシリーズ、JavaEE関係ないなぁとは思うけど、
横着できるツールを探して時短に活用するってのもテクニックなので、
無駄かもしらんけれど、こんな調査もたまには必要だよねっ。
ちなみに今回はSQLを書かずに、諸々の操作ができて、
データ出力とか検索とか使いやすい機能が揃っているか、
DBViewerと比べてどうかってのが調査の観点です。
気を取り直して、
DBeaverでのデータ入力、行ってみよう。
- データ入力
- 目的のテーブルを開いて、データのタブを選ぶとデータ参照の表が表示される。
今は空なので、ツールからデータ入力をしてみる。
ウィンドウ下部の「+」ボタンを押すと行が追加され、セルが編集可能となる。
適当に入力し、ウィンドウ下部の「レ」ボタンを押すと保存される。「×」は取り消し。 - データの表示
- 目的のテーブルを開いて、データのタブを選ぶとデータが自動で抽出される。
表示されるカラムだとか順序はフィルターボタンから開くダイアログで好きに変えることができる。
データの絞り込みはフィルター入力ボックスに条件を入力することで行える。
表示形式もグリッド表示とテキスト表示で切り替えることができる。
また、通常はY方向(下方向)にデータが表示されるが、X方向(横方向)に表示することもできる。
ただし、1レコードづつだけれど。 - SQL自動生成
- 表示データを選択した後、コンテキストメニューから「Generate SQL」を選ぶことで、「Select by Unique Key]、「Insert]、「Delete by Unique Key]の3種類のSQLを生成できる。
- データ削除
- グリッドから対象行を選択して、コンテキストメニューから削除を選ぶか、Deleteを押すと削除マーカーがつく。
編集後、ウィンドウ下部の「レ」ボタンを押すと保存され、「×」で取り消しとなるのは入力と同じ。 - データエクスポート
- Database Navigatorからテーブルを選択し、コンテキストメニューから「データのエクスポート」を選ぶと出力形式を選択するダイアログが表示される。
出力形式は、XML, HTML, CSV, SQLとひと通りあり、なおかつ「データベース」なんてのもある。
テーブルからテーブルへ、select 〜, insertなんだろうけど、SQL書くのとどっちが早いのだろう。
ファイル出力に関しては、直接クリップボードにも出力できるので便利。
出力結果はこんな感じ。
<?xml version="1.0" ?> <!DOCTYPE EMP [ <!ELEMENT EMP (DATA_RECORD*)> <!ELEMENT DATA_RECORD (EMPNO?,ENAME?,JOB?,MGR?,HIREDATE?,SAL?,COMM?,DEPTNO?)+> <!ELEMENT EMPNO (#PCDATA)> <!ELEMENT ENAME (#PCDATA)> <!ELEMENT JOB (#PCDATA)> <!ELEMENT MGR (#PCDATA)> <!ELEMENT HIREDATE (#PCDATA)> <!ELEMENT SAL (#PCDATA)> <!ELEMENT COMM (#PCDATA)> <!ELEMENT DEPTNO (#PCDATA)> ]> <EMP> <DATA_RECORD> <EMPNO>1</EMPNO> <ENAME>Prince Umayado</ENAME> <JOB>Regent</JOB> <MGR></MGR> <HIREDATE>1965/01/04</HIREDATE> <SAL>1,000</SAL> <COMM>1,000</COMM> <DEPTNO>1</DEPTNO> </DATA_RECORD> <DATA_RECORD> <EMPNO>2</EMPNO> <ENAME>Hirofumi Ito</ENAME> <JOB>Prime ministar</JOB> <MGR></MGR> <HIREDATE>1986/01/04</HIREDATE> <SAL>1,000</SAL> <COMM>1,000</COMM> <DEPTNO>1</DEPTNO> </DATA_RECORD> <DATA_RECORD> <EMPNO>3</EMPNO> <ENAME>Souseki Natsume</ENAME> <JOB>Novelist</JOB> <MGR></MGR> <HIREDATE>2007/04/02</HIREDATE> <SAL>1,000</SAL> <COMM>1,000</COMM> <DEPTNO>1</DEPTNO> </DATA_RECORD> <DATA_RECORD> <EMPNO>4</EMPNO> <ENAME>Hideyo Noguchi</ENAME> <JOB>Doctor</JOB> <MGR></MGR> <HIREDATE></HIREDATE> <SAL>1,000</SAL> <COMM>1,000</COMM> <DEPTNO>1</DEPTNO> </DATA_RECORD> </EMP>
- HTML
EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO |
---|---|---|---|---|---|---|---|
1 | Prince Umayado | Regent | 1965/01/04 | 1,000 | 1,000 | 1 | |
2 | Hirofumi Ito | Prime ministar | 1986/01/04 | 1,000 | 1,000 | 1 | |
3 | Souseki Natsume | Novelist | 2007/04/02 | 1,000 | 1,000 | 1 | |
4 | Hideyo Noguchi | Doctor | 1,000 | 1,000 | 1 |
"EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO" 1,Prince Umayado,Regent,,"1965/01/04","1,000","1,000",1 2,Hirofumi Ito,Prime ministar,,"1986/01/04","1,000","1,000",1 3,Souseki Natsume,Novelist,,"2007/04/02","1,000","1,000",1 4,Hideyo Noguchi,Doctor,,,"1,000","1,000",1
INSERT INTO EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) VALUES ( 1,'Prince Umayado','Regent',NULL,'1965/01/04',1000.0,1000.0,1); INSERT INTO EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) VALUES ( 2,'Hirofumi Ito','Prime ministar',NULL,'1986/01/04',1000.0,1000.0,1); INSERT INTO EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) VALUES ( 3,'Souseki Natsume','Novelist',NULL,'2007/04/02',1000.0,1000.0,1); INSERT INTO EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) VALUES ( 4,'Hideyo Noguchi','Doctor',NULL,'',1000.0,1000.0,1);
- データのインポート
- DataNavigatorからテーブルを選んでコンテキストメニューから「import Data」で実行できるが、
これは少しイケてない。
データベースからデータベースへのインポートしか備えていない。
これではデータをエクスポートする意味があまりない。
と、検索、追加、削除などをプラグインで操作してみたが、データのインポートだけが劣るぐらいでDBViewerと比べても機能の見劣りはさほどない。
多彩なRDBに対応しているし、ドライバもセットアップ時にダウンロードできる仕組みなので、
DBViewrの代替には十分成りうる。
もっともフリーのDBクライアントもいくつかあるので、これにこだわる必要があるか、というと、考えるところ。
結局は、自分の使いやすいツールを見つけて使うか、ってところに落ち着くのか。