The mysql-haskell-nem package

[Tags:bsd3, library]

Please see README.md


[Skip to Readme]

Properties

Versions 0.1.0.0
Dependencies base (>=4.7 && <5), bytestring, io-streams, mysql-haskell, scientific, text, time [details]
License BSD3
Copyright 2016 José Lorenzo Rodríguez
Author José Lorenzo Rodríguez , Bryan O'Sullivan , Paul Rouse
Maintainer jose.zap@gmail.com
Stability Unknown
Category Database
Home page https://github.com/lorenzo/mysql-haskell-nem#readme
Source repository head: git clone https://github.com/lorenzo/mysql-haskell-nem
Uploaded Sun Dec 18 16:03:30 UTC 2016 by lorenzo
Distributions NixOS:0.1.0.0
Downloads 32 total (9 in the last 30 days)
Votes
0 []
Status Docs available [build log]
Last success reported on 2016-12-18 [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for mysql-haskell-nem

Readme for mysql-haskell-nem-0.1.0.0

mysql-haskell-nem

Provides a simpler interface for retrieving results when using the mysql-haskell package.

Guide

The Database.MySQL.Base and Database.MySQL.Nem modules provides everything you need to start making queries:

{-# LANGUAGE OverloadedStrings #-}

module Main where

import Database.MySQL.Base
import Database.MySQL.Base.Nem
import Data.Text (unpack)
import qualified System.IO.Streams as Streams

main :: IO () 
main = do
    conn <- connect
        defaultConnectInfo {ciUser = "username", ciPassword = "password", ciDatabase = "dbname"}

    results <- queryResults conn "SELECT email, name FROM users" >>=
    _ <-
        Streams.mapM_
            (\(email, name) -> print $ (Text.unpack email) ++ ":" ++ (name :: String) ) results >>=
        Streams.toList

It's recommended to use prepared statement to improve query speed:

    ...
    s <- prepareStmt conn "SELECT * FROM some_table where person_age > ?"
    ...
    results <- queryStmtResutls s [MySQLInt32U 18]
    ...