今日、私は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