如何使用erlang mnesia 数据库

Mnesia是一个分布式数据库管理系统,适合于电信和其它需要持续运行和具备软实时特性的Erlang应用,越来越受关注和使用,但是目前Mnesia资料却不多,很多都只有官方的用户指南。文章将着重说明 如何使用 Mnesia 数据库。

创建数据库:
1、设定数据库目录:

erl -mnesia dir ‘“d:/mnesia”’

2、创建数据库:

mnesia:create_schema([node()]) .

3、启动数据库:

mnesia:start() .

注:数据库创建后,以后重新启动 erlang 时要同时启动mneisa 服务:

erl -mnesia dir ‘“d:/mnesia”’ -s mnesia

创建表:

1、声明表结构:

mnesia表结构可以用record声明,以用户表 person 为例:

-record(person, {name, age, address, salary, children}).

注:-record不是shell命令,不能在 erlang shell 直接使用。有以下2种方法:

1)使用命令 rd(person, {name, age, address, salary, children}).

2)将结构保存到record.hrl 文件,使用命令 rr("record.hrl"). 引进

2、创建表:(文档

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

注:记录的第一个属性为主键。数据表的默认类型是“set”。在一个集合(set)里,所有的记录有唯一的键,在一个包(bag)里,几条数据可能有相同的键,但是记录的内容是唯一的。如果一个不唯一的数据被存储到表中,该记录会被覆盖 。

数据库查询:

例:查询某用户(更多数据库查询例子

q(Name) -> F = fun() -> mnesia:read({person, Name}) end,

mnesia:transaction(F).

可视化工具:

Erlang自带一个可以看Mnesia和ETS表查看器,使用tv:start()启动。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值