mnesia mysql性能_mnesia数据库学习笔记一

本文介绍了Erlang中Mnesia数据库的基本使用,包括创建数据库schema、启动数据库、定义表结构、进行事务操作以及查询操作。通过示例展示了如何创建员工表、进行加薪的事务处理以及提取特定条件的数据。同时提到了QLC查询的使用,虽然其成本较高但提供更佳的语法。
摘要由CSDN通过智能技术生成

mnesia数据库学习笔记

1、基本使用流程

1>mnesia:create_schema([node]).    %创建方案的本地节点上。

2>mnesia:start(). %启动数据库

3>mnesia:create_table(funky,[]).%创建表

4>mnesia:info(). %查看数据库信息

在启动erlang时,erl -mnesia dir '"/dir"' 用于指定Mnesia数据存储位置。

2、定义表结构,创建表

% company.hrl

-record(employee, {emp_no, name, salary, sex, phone, room_no}).

% createtbl.erl

-include("company.hrl")

init() ->

mnesia:create_table(employee, [{attributes, record_info(fields.employree)}]).

%create_table(表名, [类型,字段])。

表中有1对1的set类型,和1对多的bag类型。

3、事务

mnesia:tranaction(Fun).

事务只需要一个函数参数。

4、写查询

raise(Eno,Raise) ->

F = fun() ->

[E] =mnesia:read(employee, eno, write),  %读数据并带上写锁

Salary = E#employee.salary + Raise,    %得到加薪后数据

New = E#employee{salary=Salary),     %生成要薪后记录

mnesia:write(New)              %更新薪酬

end,

mnesia:transaction(F).                %执行事务

5、Mnesia函数

提取女性职员

mnesia:select(employee, [{#employee{sex = female, name='$1', _='_'},[],['$1']}]).

select 必须运行在类似事务的活动中.

6、使用 QLC

QLC通常比直接使用mnesia函数 代价更高 。但是提供了更好的语法

Q = qlc:q([E#employee.name || E

qlc:e(Q)

[读作"创建list"

||读作"例如"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值