PG'OCAML = PostgreSQL + OCaml

今日、私はObjective CamlからPostgreSQLデータベースに目を向ける必要がありました。PostgreSQLで作業するための最も便利で高度なフレームワークはPG'OCAMLでした。 この投稿では、Objective CamlとPostgreSQLの組み合わせのいくつかの例と、その単純さを示したいと思います。



インストールは次のとおりです。Debianで私のようにすべてが進行している場合、PG'OCAMLはリポジトリにあり、コンソールで実行するだけです。

aptitudeはlibpgocaml-ocaml-devをインストールします

他の配布キットがある場合は、この段階でインストールが完了します。配布キットのパッケージをダウンロードするか、ソースからいつでもコンパイルできます。

簡単な例に直接進みます。



CREATE_TABLE dbh =

PGSQL dbh "host = MY_HOST" "user = USER"

「パスワード= MY_PASSWORD」

「一時テーブルユーザーの作成



id serial not null主キー、

名前テキストがヌルではない、

年齢int null以外

) "



insert_user dbh name age =

PGSQL dbh "INSERT INTO users(name、age)

VALUES($名、$年齢) "



get_users dbh =

PGSQL dbh "SELECT * FROM users"



let print_user id、name、age =

Printf printf "Id:%ld Name:%s Age:%ld \ n" id name age



let _ =

let dbh = PGOCaml 接続

let = CREATE_TABLE dbh in

let =

insert_user dbh "John" 30l ;

insert_user dbh "Mary" 40l ;

insert_user dbh "Mark" 42l in

一覧 iter print_user get_users dbh




ここでは、関数式CREATE_TABLEにid、name、ageの3つのフィールドを持つユーザーテーブルを作成し、2つの関数式insert_userとget_usersがSQLクエリハンドラーであり、新しいユーザーを追加して、ユーザーテーブルから値を選択します。 print_user-id、name、ageの値の出力。 次に、データベースPGOCaml.connect()への直接接続、接続パラメーター名password ...が機能式CREATE_TABLEの環境変数から取得されます。 結論として、データベースを直接操作し、ユーザーのリストにユーザーinsert_user dbh“ John” 30l;およびprint_user(get_users dbh)を追加します。



ps公式ウェブサイト: pgocaml



All Articles