erlang连接到mysql数据库
erlang连接到mysql数据库
?
?
<p lang="EN-US"><span>1.<span style="font: 7.0pt ;">???????</span></span></span></span><span>下载</span><span style="font-size: 12.0pt;" lang="EN-US">e</span><span><span lang="EN-US">rlang-mysql-driver</span></span><span></span></p>
<p style="margin-left: 42.0pt; text-indent: 0cm;"><span><span lang="EN-US"><span>???? </span></span></span><span><span>下载地址如下:</span></span><span></span></p>
<p style="margin-left: 42.0pt; text-indent: 0cm;"><span><span lang="EN-US"><span>???? </span></span></span><span><span lang="EN-US">svn checkout http://erlang-mysql-driver.googlecode.com/svn/trunk/
<span>????</span>mysql</span></span></p>
<p style="margin-left: 42.0pt; text-indent: 0cm;"><span><span lang="EN-US">?<span style="color: #339966;"><strong>(如果你没有安装SVN,附件中提供源码下载)</strong></span></span></span></p>
<p style="margin-left: 42.0pt; text-indent: 0cm;"><span><span lang="EN-US"><span>????? </span>erlc *.erl</span></span></p>
<p style="margin-left: 21.0pt; text-indent: 0cm;"><span><span lang="EN-US">?</span></span></p>
<p style="margin-left: 21.0pt; text-indent: 0cm;"><span><span lang="EN-US">?</span></span></p>
<p style="margin-left: 63.0pt; text-indent: 0cm;"><span><span lang="EN-US">mysql:start_link(</span></span><span lang="EN-US">PoolId</span><span><span lang="EN-US">,
"localhost", "root", "password", "databasename").</span></span></p>
<p style="margin-left: 63.0pt; text-indent: 0cm;"><span lang="EN-US">?</span></p>
<p style="margin-left: 21.0pt; text-indent: 0cm;"><span lang="EN-US"><span>???????? </span><span>???
</span>Reconnect).<strong>%%</strong></span><span><strong>建立一个连接</strong></span></p>
<p style="margin-left: 21.0pt; text-indent: 0cm;"><span lang="EN-US">?</span></p>
<p style="margin-left: 21.0pt;"><span lang="EN-US">3<span>???????????</span></span><span><strong>数据操作</strong></span></p>
<p style="margin-left: 21.0pt;"><span lang="EN-US"><span>?????????????????? </span></span><span><strong>添加:</strong></span></p>
<p style="margin-left: 63.0pt; text-indent: 0cm;"><span lang="EN-US">mysql:fetch(PoolId,<<”insert into….”>>).</span></p>
<p style="margin-left: 63.0pt; text-indent: 0cm;"><span>?? <strong>查询:</strong></span></p>
<p style="margin-left: 63.0pt; text-indent: 0cm;"><span lang="EN-US">mysql:fetch(p1,<<"select * from
user">>).</span></p>
<p style="margin-left: 63.0pt; text-indent: 0cm;">?</p>
<p style="margin-left: 63.0pt; text-indent: 0cm;">
</p>
<p style="margin-left: 21pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"><strong>4??????????????? </strong></span><span style=""><strong>接收到数据后怎么处理</strong></span></p>
<p style="margin-left: 21pt; text-align: left;"><span lang="EN-US"><span style="">?????????????????? </span>fetch(PoolId,
"select * from user") -> Result</span></p>
<p style="margin-left: 21pt; text-align: left;"><span lang="EN-US"><span style="">?????????????????? </span>%%%<span style="">???? </span>Result = {data, MySQLRes} | {updated,
MySQLRes} |</span></p>
<p style="margin-left: 21pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"><span style="">??????????????????????????? </span>%%%<span style="">???? </span>{error, MySQLRes}</span></p>
<p style="margin-left: 21pt; text-indent: 0cm; text-align: left;"><span lang="EN-US">?</span></p>
<p style=""><span style="font-family: Wingdings;" lang="EN-US"><span style="">n<span style='font: 7.0pt "Times New Roman";'>? </span></span></span><span style=""><strong>查询</strong>:</span><span lang="EN-US">{data,
MySQLRes} = fetch(PoolId, <<"select * from user">>).</span></p>
<p style=""><span style="font-family: Wingdings;" lang="EN-US"><span style="">?<span style='font: 7.0pt "Times New Roman";'>? </span></span></span><span style="">获取字段名称信息</span><span lang="EN-US">:</span></p>
<p style="margin-left: 42pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"><span style="">???????? </span><span style="">??
</span>FieldInfo = mysql:get_result_field_info(MysqlRes).</span></p>
<p style=""><span style="font-family: Wingdings;" lang="EN-US"><span style="">?<span style='font: 7.0pt "Times New Roman";'>? </span></span></span><span style="">获取字段值:</span></p>
<p style="margin-left: 42pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"><span style="">???????? </span><span style="">??
</span>AllRows<span style="">?? </span>=
mysql:get_result_rows(MysqlRes)</span></p>
<p style="margin-left: 21pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"><span style="">?????????????????? </span></span></p>
<p style=""><span style="font-family: Wingdings;" lang="EN-US"><span style="">n<span style='font: 7.0pt "Times New Roman";'>? </span></span></span><span style=""><strong>更新</strong></span><span lang="EN-US"><strong>:</strong></span></p>
<p style="margin-left: 78.15pt; text-indent: 0cm; text-align: left;"><span lang="EN-US">{updated,UD} = mysql: fetch(PoolId, <<"update
<span style="">?</span>* from user">>).</span></p>
<p style="margin-left: 21pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"><span style="">???????? </span><span style="">??
</span><span style="">? </span><span style="">???</span>AffectedRow = mysql:get_result_affected_rows(UD).%%</span><span style="">获得影响的记录数</span></p>
<p style="margin-left: 21pt; text-indent: 0cm; text-align: left;"><span lang="EN-US">?</span></p>
<p style=""><span style="font-family: Wingdings;" lang="EN-US"><span style="">n<span style='font: 7.0pt "Times New Roman";'>?<strong> </strong></span></span></span><span style=""><strong>出错</strong></span></p>
<p style="margin-left: 78.15pt; text-indent: 0cm; text-align: left;"><span lang="EN-US">{error,Err} = fetch(PoolId, <<"update
<span style="">?</span>* from user">>).</span></p>
<p style="margin-left: 78.15pt; text-indent: 0cm; text-align: left;"><span lang="EN-US">Reason<span style="">??? </span>= mysql:get_result_reason(MysqlRes).%%</span><span style="">出错原因</span></p>
</div><br/>注意mysql:start_link的第八个参数encoding,设置为utf8,以支持中文