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]