Postgres

Postgresql-simple 是一个用于与 PostgreSQL 后端数据库通信的中级 Haskell 库。它使用起来非常简单,并提供了一种类型安全的 API,用于读/写 DB。

运行简单查询非常简单:

{-# LANGUAGE OverloadedStrings #-}

import Database.PostgreSQL.Simple

main::IO ()
main = do
  -- Connect using libpq strings
  conn <- connectPostgreSQL "host='my.dbhost' port=5432 user=bob pass=bob"
  [Only i] <- query_ conn "select 2 + 2"  -- execute with no parameter substitution
  print i

参数替换

PostreSQL-Simple 支持使用 query 进行安全参数化查询的参数替换:

main::IO ()
main = do
  -- Connect using libpq strings
  conn <- connectPostgreSQL "host='my.dbhost' port=5432 user=bob pass=bob"
  [Only i] <- query conn "select ? + ?" [1, 1]
  print i

执行插入或更新

你可以使用 execute 运行插入/更新 SQL 查询:

main::IO ()
main = do
  -- Connect using libpq strings
  conn <- connectPostgreSQL "host='my.dbhost' port=5432 user=bob pass=bob"
  execute conn "insert into people (name, age) values (?, ?)" ["Alex", 31]