erlang mysql 操作
2016-05-28 23:04
246 查看
erlang连接到MySQL数据库
一,驱动的下载与安装
1. 下载erlang-mysql-driver
下载地址如下:
svn checkout http://erlang-mysql-driver.googlecode.com/svn/trunk/ mysql
(如果你没有安装SVN,附件中提供源码下载)
2. 对src下面的所有源码进行编译
erlc *.erl
3. 然后在mysql 下面创建ebin,并将src 下面的所有*.beam拷贝到ebin 下面
4. 将mysql整个文件夹拷贝到erlang/lib下面
二,操作数据库
1 连接mysql:
mysql:start_link(PoolId, "localhost", "root", "password", "databasename").
2 mysql:connect(PoolId, Host, ?PORT, User, Password, Database, undefined,
Reconnect).%%建立一个连接
3 数据操作
添加:
mysql:fetch(PoolId,<<”insert into….”>>).
查询:
mysql:fetch(p1,<<"select * from user">>).
4 接收到数据后怎么处理
fetch(PoolId, "select * from user") -> Result
%%% Result = {data, MySQLRes} | {updated, MySQLRes} |
%%% {error, MySQLRes}
n 查询:{data, MySQLRes} = fetch(PoolId, <<"select * from user">>).
Ø 获取字段名称信息:
FieldInfo = mysql:get_result_field_info(MysqlRes).
Ø 获取字段值:
AllRows = mysql:get_result_rows(MysqlRes)
n 更新:
{updated,UD} = mysql: fetch(PoolId, <<"update * from user">>).
AffectedRow = mysql:get_result_affected_rows(UD).%%获得影响的记录数
n 出错
{error,Err} = fetch(PoolId, <<"update * from user">>).
Reason = mysql:get_result_reason(MysqlRes).%%出错原因
注意mysql:start_link的第八个参数encoding,设置为utf8,以支持中文
一,驱动的下载与安装
1. 下载erlang-mysql-driver
下载地址如下:
svn checkout http://erlang-mysql-driver.googlecode.com/svn/trunk/ mysql
(如果你没有安装SVN,附件中提供源码下载)
2. 对src下面的所有源码进行编译
erlc *.erl
3. 然后在mysql 下面创建ebin,并将src 下面的所有*.beam拷贝到ebin 下面
4. 将mysql整个文件夹拷贝到erlang/lib下面
二,操作数据库
1 连接mysql:
mysql:start_link(PoolId, "localhost", "root", "password", "databasename").
2 mysql:connect(PoolId, Host, ?PORT, User, Password, Database, undefined,
Reconnect).%%建立一个连接
3 数据操作
添加:
mysql:fetch(PoolId,<<”insert into….”>>).
查询:
mysql:fetch(p1,<<"select * from user">>).
4 接收到数据后怎么处理
fetch(PoolId, "select * from user") -> Result
%%% Result = {data, MySQLRes} | {updated, MySQLRes} |
%%% {error, MySQLRes}
n 查询:{data, MySQLRes} = fetch(PoolId, <<"select * from user">>).
Ø 获取字段名称信息:
FieldInfo = mysql:get_result_field_info(MysqlRes).
Ø 获取字段值:
AllRows = mysql:get_result_rows(MysqlRes)
n 更新:
{updated,UD} = mysql: fetch(PoolId, <<"update * from user">>).
AffectedRow = mysql:get_result_affected_rows(UD).%%获得影响的记录数
n 出错
{error,Err} = fetch(PoolId, <<"update * from user">>).
Reason = mysql:get_result_reason(MysqlRes).%%出错原因
注意mysql:start_link的第八个参数encoding,设置为utf8,以支持中文
相关文章推荐
- Erlang项目内存泄漏分析方法
- Erlang实现的一个Web服务器代码实例
- Erlang并发编程介绍
- Erlang的一些编程技巧分享
- Erlang程序设计(第2版)读书笔记:Erlang安装和基础语法
- Erlang中的模块与模式匹配介绍
- Erlang中的函数与流程控制介绍
- Erlang语法学习笔记:变量、原子、元组、列表、字符串
- Erlang中的Record详解
- Erlang初学:Erlang的一些特点和个人理解总结
- Erlang中的OTP简介
- Erlang中遍历取出某个位置的最大值代码
- Erlang中3种生成随机数的方法
- Erlang中的并发程序简介
- Erlang分布式节点中的注册进程使用实例
- Erlang中的注册进程使用实例
- Erlang中的映射组Map详细介绍
- CentOS 6.5源码安装Erlang教程
- Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
- Erlang实现的百度云推送Android服务端实例