harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

DB FireBird メモ レビュー 作業ログ

[DB]FireBird テストDBで遊んでみる

投稿日:2012年8月2日

Last Updated on 2021年7月4日 by かんりにん

アカウントを作ったところで、データベースへログインしてみました。

インストール直後に、/var/lib/firebird/data/以下にemployee.fdbというサンプルデータベースがあるので、ためしに接続してみます。

1.ログインしてみる

ログインには、コマンドラインツールisql-fbを使用します。
実行すると、

SQL> 

というコンソールが出ますので、SQL分を発行します。

  • isql起動
    $ isql-fb
  • データベースファイルアクセス
    SQL> connect "/var/lib/firebird/data/employee.fdb"	
    CON> user 'sysdba'
    CON> password '******';
    Database:  "/var/lib/firebird/data/employee.fdb", User: sysdba	←DBを指定して認証された場合は左のような表示が。
    SQL>

    上記にてログイン成功です。
    ※"CON> "は、SQL文が続いているとみなされた場合に表示されます。

  • 失敗した場合の表示は以下の通り。
    • パスワードエラーの場合
      # isql-fb
      Use CONNECT or CREATE DATABASE to specify a database
      SQL> connect "/var/lib/firebird/data/employee.fdb"
      CON> user 'sysdba'
      CON> password 'chigau-passwd';
      Statement failed, SQLSTATE = 28000
      Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
      SQL>
  • データベースを指定せずに、ログインIDとパスワードだけ指定してログインする場合は
    以下のような感じで。

    $ isql-fb -u sysdba -p ******
    Use CONNECT or CREATE DATABASE to specify a database
  • 後からデータベースを指定してアクセスします。
    SQL> connect employee;
    Database:  employee, User: sysdba
    SQL>
  • ログアウトする場合は
    SQL> quit;

    とします。

2.サンプルデーターベースの中身を見てみる

サンプルはテーブルの中身も容易されているので色々遊べるようになってました。
テーブルの表示は普通に"show tables"で。

  • テーブル一覧
    SQL> show tables;
    COUNTRY                           CUSTOMER
    DEPARTMENT                        EMPLOYEE
    EMPLOYEE_PROJECT                  JOB
    PROJECT                           PROJ_DEPT_BUDGET
    SALARY_HISTORY                    SALES
  • COUNTRYテーブルの中身を見てみる。
    SQL> select * from COUNTRY;
    
    COUNTRY         CURRENCY
    =============== ==========
    USA             Dollar
    England         Pound
    Canada          CdnDlr
    Switzerland     SFranc
    Japan           Yen
    Italy           Lira
    France          FFranc
    Germany         D-Mark
    Australia       ADollar
    Hong Kong       HKDollar
    Netherlands     Guilder
    Belgium         BFranc
    Austria         Schilling
    Fiji            FDollar

データベース作成

サンプルデータベースに続いて、サンドボックス用のテストDBを作成。
CREATE DATABASEで作成します。

  • 書式
    CREATE DATABASE 'データベースファイル名'  USER '<ユーザー名>' PASSWORD '<パスワード>';

    データベースのファイル名を指定するときはフルパスで指定する必要があります。

  • CREATE DATABASE実行時のオプションを抜粋
    ひとまずよく使用されると思われるオプション2つを。

    • PAGE_SIZE
      ページサイズの指定。デフォルト値は4096バイト。
    • DEFAULT CHARACTER SET
      文字コードの指定。デフォルト値はNONE。
  • 書式例
    RPM版firebirdの場合は/var/lib/firebird/data以下にファイルを作成するので、以下のような書式に。

    CREATE DATABASE "/var/lib/firebird/data/test.fdb" PAGE_SIZE 8192 USER 'testuser' PASSWORD '********';
  • 実行例
    上記のような感じで作って見ます。

    SQL> CREATE DATABASE "/var/lib/firebird/data/test.fdb" PAGE_SIZE 8192 USER 'testuser' PASSWORD '********';

    →プロンプトが戻ってきたらOK。
    また、データベース作成時にメタデータとしてシステムテーブルが作成されているので、
    以下のSELECT文で中身をチェックすることが可能。

  • 作成後のテーブルチェック
    SQL>SELECT * FROM RDB$RELATIONS;

    ※そこそこのデータ量があるので、中身は割愛w

  • テーブル作成
    ひとまず日本郵便のサイトから郵便番号データをいただいて、テスト用DBに入れてみようと思います。
  • テーブル作成
    SQL> CREATE TABLE postcode (
    CON> postalid INTEGER primary key not null,
    CON> postal7 varchar(8) not null,
    CON> address varchar(64) not null,
    CON> pref varchar(8) not null,
    CON> city varchar(32) not null,
    CON> flag1 varchar(8) not null,
    CON> flag2 varchar(8) not null,
    CON> flag3 varchar(8) not null,
    CON> flag4 varchar(8) not null,
    CON> flag5 varchar(8) not null,
    CON> flag6 varchar(8) not null );
  • さいごにcommit。
    SQL> commit;

つづけてCSVデータをインポート。

 

-DB, FireBird, メモ, レビュー, 作業ログ
-,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

[AWS] EC2 HVMタイプを使う時のファイルシステム周りの作業1(容量拡張、growpart利用)

hvmタイプのAMIを使用する際に初期設定として、ファイルシステムの容量拡張が必要になる。 インスタンス作成時にEBSを標準サイズから拡張してセットしても マウントされたストレージサイズが上がるだけで …

no image

ただのメモ:mysqladmin pingで起動確認

  mysqladminを実行する際にpingオプションをつけると、指定したホストのmysqldの稼働状態を確認してくれる。 簡単な監視に良いかも。 $ mysqladmin -h -uroot -p …

no image

[juniper] SRX220 syslog設定追加

  今回はLAN内のsyslogサーバーにSRXのログを書き出す設定を。 SSG/screenosとは少々コマンド入力や動作が異なるので、備忘録として。 参考:SRX Getting Started …

no image

net-snmp snmpd.logの設定を追加、変更

某VPSサービスで借りた仮想サーバーでsnmpdを動かしたところ、ログがどこにも出ていなかったのでログ出力設定を追加。 たまたまだと思いつつ、設定状況は環境によって様々だと思うので、ひとまず要点をいろ …

Thinkpad X220 へSSDを換装[Intel SSD 520]そしてメモリも8GBに。

今回はX220(4287-47J)にメモリ増設とSSDへの換装を行いました。 持ち出しのメイン機をX201iからX220に変更するに当たって考えたこととしては… 1)起動/停止、日常的に不満のでない性 …