harumaki.net

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

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

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

投稿日:2012年8月2日

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

インストール直後に、/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


関連記事

no image

CentOSへWindows7端末からリモートデスクトップする設定をしてみる(xrdp)

客先のシステムにCentOSで監視&シスログサーバーを立てたのだが 他の業務システムはWindows Serverばかりであることと、Linuxになじみがない環境のため 管理者へWindowsに近い操 …

[メモ][juniper] SRX(JunOS) FTPS設定追加

  社内から外部のFTPサービスへ接続する際、通常のFTPでは問題ないものの、FTPS(FTP Over SSL/TLS)で接続しようとしたところ、認証が通ったところで応答がなくなり、そのままタイムア …

no image

[MySQL] ZRM(Zmanda Recovery Manager) を試してみる

お客さんのWebサイトで運用しているMySQLにて、ここんとこmysqldump実行時にエラーが出るように。 レプリケーションにてスレーブ2ホストで同期しているので、ダンプのエラー自体は緊急性は高くな …

[DIY]Filco Majestouch のキーキャップを交換してみた 後編 (掃除・取り付け編!)

  [パソコンDIY]Filco Majestouch のキーキャップ交換と掃除 1 (取り外し編!)はこちら   Magestouchのキーキャップ交換とお掃除の続きです。前回キーキャップを一通り取 …

no image

[メモ]ディレクトリ”/srv”の使いみち

WebサーバーやDBサーバーをセットアップする際、RedHat、Fedora、CentOSなどでRPMパッケージでセットアップする場合は /var/wwwや/var/lib/mysqlなどあらかじめ用 …