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

Source: https://habr.com/ru/post/J75599/


All Articles