erlang mnesia 数据库实现SQL查询

Mnesia是一个分布式数据库管理系统,适合于电信和其它需要持续运行和具备软实时特性的Erlang应用,越来越受关注和使用,但是目前Mnesia资料却不多,很多都只有官方的用户指南。下面的内容将着重说明  Mnesia 数据库如何实现SQL查询,实现select / insert / update / where / order by / join / limit / delete等SQL操作。

示例中表结构的定义:

%% 账号表结构 
-record( y_account,{ id, account, password }).

%% 资料表结构  
-record( y_info, { id, nickname, birthday, sex }). 

1、Create Table / Delete Table 操作

%%===============================================
%%  create table y_account ( id int, account varchar(50),
%%   password varchar(50),  primary key(id)) ;
%%===============================================

%% 使用 mnesia:create_table
mnesia:create_table( y_account,[{attributes, record_info(fields, y_account)} ,
  {type,set}, {disc_copies, [node()]} ]).

%%===============================================
%%  drop table y_account;
%%===============================================

%% 使用 mnesia:delete_table
mnesia:delete_table(y_account) .

注:参数意义可以看文档,{type,set} 表示id作为主键,不允许id重复,如果改为 {type,bag},id可以重复,但整条记录不能重复

2、Select 查询

查询全部记录

%%===============================================
%%  select * from y_account
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值