Haskell安装mysql(mac环境)
2015-09-06 18:08
627 查看
mkdir mysql-test
cd mysql-test
cabal sandbox init
到https://www.stackage.org/ 下载对(zui)应(xin)的cabal.config,放在mysql-test文件夹中
以下4个安装要一个个装,不然会出现卡死的情况
cabal install alex
cabal install happy
cabal install c2hs
cabal install haddock
下载pcre
http://sourceforge.net/projects/pcre/files/pcre/8.37/pcre-8.37.tar.bz2/download
解压之后用sudo 执行./configure ,会在目录中出现pcre.h
安装pcre-light
cabal install --extra-include-dirs=/Users/brant/program/lib/pcre-8.37 pcre-light
为了安装mysql,需要创建一个软链,否则就会出现找不到/libmysqlclient.18.dylib的错误
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
(2015.10.2 更新)
http://mac.pcbeta.com/thread-164373-1-1.html
因为新的Ei Capitan禁止修改内核,所以链接地址由/usr/lib修改至/usr/local/lib
安装mysql
cabal install --extra-prog-path=/usr/local/mysql-5.6.22-osx10.8-x86_64/bin mysql-0.1.1.8
安装mysql-simple
cabal install --extra-prog-path=/usr/local/mysql-5.6.22-osx10.8-x86_64 mysql-simplee-0.2.2.5
执行hs
ghci -no-user-package-db -package-db .cabal-sandbox/x86_64-osx-ghc-7.10.2-packages.conf.d/ test.hs
或者ghci -package-db .cabal-sandbox/x86_64-osx-ghc-7.10.2-packages.conf.d/ test.hs
或者 cabal run/cabal build
cd mysql-test
cabal sandbox init
到https://www.stackage.org/ 下载对(zui)应(xin)的cabal.config,放在mysql-test文件夹中
以下4个安装要一个个装,不然会出现卡死的情况
cabal install alex
cabal install happy
cabal install c2hs
cabal install haddock
下载pcre
http://sourceforge.net/projects/pcre/files/pcre/8.37/pcre-8.37.tar.bz2/download
解压之后用sudo 执行./configure ,会在目录中出现pcre.h
安装pcre-light
cabal install --extra-include-dirs=/Users/brant/program/lib/pcre-8.37 pcre-light
为了安装mysql,需要创建一个软链,否则就会出现找不到/libmysqlclient.18.dylib的错误
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
(2015.10.2 更新)
http://mac.pcbeta.com/thread-164373-1-1.html
因为新的Ei Capitan禁止修改内核,所以链接地址由/usr/lib修改至/usr/local/lib
安装mysql
cabal install --extra-prog-path=/usr/local/mysql-5.6.22-osx10.8-x86_64/bin mysql-0.1.1.8
安装mysql-simple
cabal install --extra-prog-path=/usr/local/mysql-5.6.22-osx10.8-x86_64 mysql-simplee-0.2.2.5
执行hs
ghci -no-user-package-db -package-db .cabal-sandbox/x86_64-osx-ghc-7.10.2-packages.conf.d/ test.hs
或者ghci -package-db .cabal-sandbox/x86_64-osx-ghc-7.10.2-packages.conf.d/ test.hs
或者 cabal run/cabal build
{-# LANGUAGE BangPatterns, DeriveDataTypeable, OverloadedStrings #-} import MySQL import Database.MySQL.Simple import Database.MySQL.Simple.QueryResults import Database.MySQL.Simple.Result import Control.Monad.Reader import Database.MySQL.Simple.Types (Binary(..), In(..), Only(..), Query(..)) main :: IO () main = do -- conn <- connect defaultConnectInfo conn <- connect defaultConnectInfo {connectHost = "127.0.0.1", connectPort = 3306, connectUser = "username", connectPassword = "password", connectDatabase = "report"} users <- query conn "select name,age from users where age > ?" (Only (20::Int)) _ <- putStrLn $ show $ map name users return () data User = User { name :: String, age :: Int,sex :: String } deriving Show instance QueryResults User where convertResults [fa] [va] = User { name = convert fa va, age = 10,sex="unknown"} convertResults [fa,fb] [va,vb] = User { name = a, age = b , sex = "female" } where a = convert fa va b = convert fb vb convertResults [fa,fb,fc] [va,vb,vc] = User{name = a, age =b ,sex =c} where a = convert fa va b = convert fb vb c = convert fc vc convertResults fs vs = convertError fs vs 2 selectUserAllInformation :: SqlQuery [User] selectUserAllInformation = sqlQuery_ "select sex, age,name from users" selectUserByFemale :: SqlQuery [User] selectUserByFemale = sqlQuery_ "select name,age from users where sex='female'" --selectUserByFemale = query c "select name,age from users where age > ?" ('Only' (42:Int))
相关文章推荐
- MySql备份
- MySql常见的存储引擎
- MySQL时间转换/字符串截取/
- 安装mysql报curses的解决
- MySql主从复制测试记录
- Ubuntu 下安装Mysql 需要注意的地方.
- mysql数据库查询整理
- sqlite导入到mysql
- mysql开启远程访问
- mysql 数据库操作语句备忘
- mysql查看在线以及重启
- mysql 中的GROUP BY
- MySQL学习----MySQL数据类型----03MySQL 日期和时间类型
- MySQL学习----MySQL数据类型----02MySQL 字符类型
- MySQL学习----MySQL数据类型----01MySQL 数值类型
- mysql在ubuntu上的安装过程
- mysql怎么查询条件以另一个表中条件进行查询
- Mysql复合主键中自增长字段
- MySQL中修改数据库引擎方法
- Mysql初始化root密码和允许远程访问