erlang连接到mysql数据库
一,驱动的下载与安装
1. 下载erlang-mysql-driver
下载地址如下:
svn checkout http://erlang-mysql-driver.googlecode.com/svn/trunk/
放到mysql目录下
2. 对src下面的所有源码进行编译, 可以讲include 文件夹下的头文件放到src文件当中
erlc *.erl
3. 然后在mysql 下面创建ebin,并将src 下面的所有*.beam拷贝到ebin 下面
4. 将mysql整个文件夹拷贝到erlang/lib下面
二, 操作数据库
1 连接mysql: 其中的 PoolID 自己随便写,当start_link 结束后,会创建一个你自己写的PoolID
mysql:start_link(PoolId, "localhost", "root", "password", "databasename").
2 mysql:connect(PoolId, Host, ?PORT, User, Password, Database, undefined,Reconnect).%%建立一个连接
Reconnect 为 true或者false, ?Post 为 3306
3 数据操作添加:
mysql:fetch(PoolId,<>).
查询:
mysql:fetch(p1,<>).
4 接收到数据后怎么处理
fetch(PoolId, "select * from user") -> Result
%%% Result = {data, MySQLRes} | {updated, MySQLRes} |
%%% {error, MySQLRes}
n 查询:{data, MySQLRes} = fetch(PoolId, <>).
Ø 获取字段名称信息:
FieldInfo = mysql:get_result_field_info(MysqlRes).
Ø 获取字段值:
AllRows = mysql:get_result_rows(MysqlRes)
n 更新:
{updated,UD} = mysql: fetch(PoolId, <>).
AffectedRow = mysql:get_result_affected_rows(UD).%%获得影响的记录数
n 出错
{error,Err} = fetch(PoolId, <>).
Reason = mysql:get_result_reason(MysqlRes).%%出错原因