erlang学习: Mnesia Erlang数据库2

news2024/12/23 22:15:37

Mnesia数据库增加与查询学习

-module(test_mnesia).


-record(shop, {item, quantity, cost}).
-record(cost, {name, price}).
-record(design, {info, plan}).
%% API
-export([insert/3,select/1,start/0]).
start() ->
  mnesia:start().

insert(Name, Quantity, Cost) ->
  Row = #shop{item = Name, quantity = Quantity, cost = Cost},
  F = fun() ->
    mnesia:write(Row)
      end,
  mnesia:transaction(F).

select() ->
  qlc:q([X || X <- mnesia:table(shop)]).

能够插入但是不能查询
请添加图片描述

需要对do函数进行实现,才能展示出数据库中的数据,do函数在书上20.4.3有相应实现

-module(test_mnesia).
-include_lib("stdlib/include/qlc.hrl").

-record(shop, {item, quantity, cost}).
%% API
-export([insert/3,select/0,start/0,do_this_once/0]).
start() ->
  mnesia:start().

insert(Name, Quantity, Cost) ->
  Row = #shop{item = Name, quantity = Quantity, cost = Cost},
  io:format("inserting ~p~n", [Row]),
  F = fun() ->
    mnesia:write(Row)
      end,
  mnesia:transaction(F).

select() ->
  do(qlc:q([X || X <- mnesia:table(shop)])).

do(Q) ->
  F  = fun
         () ->
           qlc:e(Q)
       end,
  {atomic,Val} = mnesia:transaction(F),
  Val.

实现do函数后的代码运行截图
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2123254.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大模型之三十一-音源分离

大模型之三十一-音乐分离模型 因为TTS模型训练还有几个结果没出&#xff0c;本篇先介绍一下音乐分离模型吧。其实可能你也猜到了&#xff0c;一部分TTS的数据是网上爬来的&#xff0c;这种音频可能会有背景音之类的&#xff0c;这里需要将乐器类的伴奏去掉。所以就此介绍一下本…

U盘格式化怎么办?这4款软件可以帮你进行数据恢复。

如果你的U 盘被格式化&#xff0c;里面的数据就会被清除掉了。有备份的话&#xff0c;就不用担心丢失那些重要的数据&#xff1b;如果没有备份&#xff0c;也有办法解决&#xff1b;可以用电脑自带的一些功能恢复&#xff0c;或者是使用专业的恢复软件。如果大家有需求&#xf…

【软考】信息安全

【软考】信息安全 一.信息安全基础知识 信息安全是保障信息系统和数据的保密性、完整性、可用性、可控性和可追溯性的综合措施。这五个要素是信息安全的基础&#xff0c;缺一不可。 1. 保密性 (Confidentiality) 定义: 保证信息只被授权人员访问。举例: 银行账户信息、医疗…

【JAVA】Tomcat性能优化、安全配置、资源控制以及运行模式超详细

文章目录 一、Tomcat性能优化application.yml配置maxThreads 连接数限制压缩传输AJP禁用 二、JVM方向优化设置并行垃圾回收器查看gc日志文件 三、Tomcat安全配置入侵防范禁用非法HTTP请求方法禁止目录列出防止恶意关闭服务配置HTTPS加密协议HttpOnly标记安全头配置 四、Tomcat资…

Rancher 与 Kubernetes(K8s)的关系

1. 简介 1.1 Kubernetes 作为容器编排平台 Kubernetes 是一个开源平台&#xff0c;用于自动化部署、扩展和管理容器化的应用。它提供了容器调度、自动伸缩、健康检查、滚动更新等功能。 例子&#xff1a;假设您有一个微服务架构的应用程序&#xff0c;需要运行在多个节…

基于arcpro3.0.2版的使用深度学习目标提取之建筑房屋

基于arcpro3.0.2版的使用深度学习目标提取之建筑房屋 采用像素分类方法&#xff0c;像素分类一般把多边形详细轮廓给标注出来&#xff0c; 而目标检测就标注出对象大致矩形框就行, 本次训练结果&#xff1a;采用GPU显卡Nivda 1080 训练模型图 20个周期GPU训练 &#xff08;一…

【JavaEE】TCP协议 (TCP-传输层协议 万字详解)

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【Java】登神长阶 史诗般的Java成神之路 &#x1f3a4;一.报头格式 TCP (Transmission Control Protocol) 是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP 被设计用来提供端到端的数据传…

Brequinar (Synonyms: 布喹那; DUP785; NSC 368390) AbMole介绍

Brequinar&#xff08;布喹那&#xff09;是一种合成的喹啉羧酸类似物&#xff0c;也是有效的二氢乳清酸脱氢酶(DHODH)抑制剂&#xff0c;对人 的 IC50 值为 5.2 nM&#xff0c;可以通过抑制DHODH&#xff0c;从而阻断嘧啶的从头合成。此外&#xff0c;Brequinar还可诱导肿瘤的…

【kafka】消息队列

本文主要通过字节的团队的博客学习kafka&#xff0c;写的真不错&#xff1a;一键跳转 1.kafka的架构 2.kafka的副本管理 3.日志同步管理 4.kafka快的原因&#xff1f; 批量处理、消息压缩、建立索引、分区、一致性、顺序写盘、页缓存、0拷贝 5.kafka怎么保证可靠&#xff1f…

【C++ Qt day10】

2、 完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号和密码不匹配&am…

OCR在线识别网站现已上线!

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 由作者亲自开发的ocr识别网站哈哈,暂时汇聚了三十多种验证码模型以及算法,欢迎各路朋友去尝试,网站地址如下 http://gbj5w3.natappfree.cc/ocr 验证码类型包括但…

【MADRL】反事实多智能体策略梯度法(COMA)算法

本篇文章是博主强化学习RL领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对相关等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅解。文章分类在强化学习专栏&#xff1…

前端开发的观察者模式

什么是观察者设计模式 观察者模式&#xff08;Observer Pattern&#xff09;是前端开发中常用的一种设计模式。它定义了一种一对多的依赖关系&#xff0c;使得当一个对象的状态发生改变时&#xff0c;其所有依赖对象都能收到通知并自动更新。观察者模式广泛应用于事件驱动的系…

56页PPT | 大数据决策分析平台怎么建设?经典实践方案推荐

一、现状和目标 企业用户现状&#xff1a;数据分散&#xff0c;利用率低&#xff0c;业务需求变化快但IT响应慢。 问题&#xff1a;数据展示不及时、不准确&#xff0c;缺乏深入分析工具&#xff0c;报表制作效率低下。 目标&#xff1a;建设统一的数据整合平台&#xff0c;…

四款数据恢复精灵好用之处及使用感受~

在数字化的时代&#xff0c;数据的重要性不言而喻&#xff1b;不慎删除重要文件、格式化磁盘后数据丢失、存储设备故障……这些情况都可能让我们痛心疾首&#xff1b;这时&#xff0c;数据恢复软件就显得尤为重要了&#xff0c;今天&#xff0c;就为大家介绍四款备受好评的数据…

服装|基于Java+vue的服装定制系统(源码+数据库+文档)

服装定制系统 目录 基于Javavue的服装定制系统 一、前言 二、系统设计 三、系统功能设计 系统功能实现 管理员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布…

Linux——redis主从复制、集群模式、哨兵模式

主从复制 部署至少两个redis的实例 // 提供数据冗余和备份 两个独立服务器两个虚拟机两个容器一个redis的master 节点可以有多个redis的replica 从节点&#xff0c; 而从节点也可以成为其他从节点的主节点 // 方便对于主复制架构进行扩展提供数据灾备&#xff0c;当red…

复赛总榜TOP1方案Champion Chasing Boy分享

关联比赛: 2020数字中国创新大赛—算法赛&#xff1a;智慧海洋建设 写在前面的话 大家好&#xff0c;我是 Champion Chasing Boy的DOTA&#xff0c;在队友 鱼遇雨欲语与余、 尘沙杰少、林有夕、嗯哼哼唧 的Carry下&#xff0c;最终在本届智能算法赛拿到了复赛总榜单Top1的成绩…

Java通过jna调用c++动态库

1、pom文件添加jna依赖 <dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>5.14.0</version></dependency> 2、注意问题 要实现Java调用C的动态库&#xff0c;需要使用"extern C&…