Unity 中使用SQLite数据库

news/2024/9/18 21:08:38/ 标签: 数据库, unity, sqlite

文章目录

  • 0.参考文章
  • 1.Presentation —— 介绍
  • 2.(SQLite4Unity3d)Unity中直接使用SQLite的插件
  • 3.创建数据库
  • 4.创建表
  • 5.Navicat Premium(数据库可视化)
  • 6.增删改查
    • 6.1 增
    • 6.2 删
    • 6.3 改
    • 6.4 查

0.参考文章

https://blog.csdn.net/ChinarCSDN/article/details/106049591

1.Presentation —— 介绍

为什么要使用SQLite数据库

请查看这里(这是一位叫 秦元培 的博主写的博客),详细的阐述了什么是SQLite以及为什么使用,还附有使用案例

2.(SQLite4Unity3d)Unity中直接使用SQLite的插件

下载地址
在这里插入图片描述

遇到的问题:工程里面的sqlite3.dll报错,解决办法:使用sqlite3官网下载的dll
下载地址
在这里插入图片描述

3.创建数据库

首先创建一个脚本,引用SQLite4Unity3d,定义一个数据库连接字段

/// <summary>
/// 数据库连接
/// </summary>
public SQLiteConnection Connection;void Start()
{//参数1.数据库地址,一般放在StreamingAssets文件夹中,2.开启读写和创建数据库权限Connection = new SQLiteConnection(Application.streamingAssetsPath+ "/TestDatabase.db",SQLiteOpenFlags.ReadWrite| SQLiteOpenFlags.Create);
}

4.创建表

数据类:

using SQLite4Unity3d;public class TestTable
{[PrimaryKey, AutoIncrement] //设置主键 自动增长public int    Id     { get; set; }//Id作为主键public string Name   { get; set; }public int    Age    { get; set; }public float  Height { get; set; }public float  Weight { get; set; }/// <summary>/// 重写ToString函数,方便控制台打印/// </summary>/// <returns></returns>public override string ToString(){return string.Format("[Person: Id={0}, Name={1},  Age={2}, Height={3}],Weight={4}]", Id, Name, Age, Height, Weight);}
}

创建表:

void Start()
{Connection = new SQLiteConnection(Application.streamingAssetsPath+ "/TestDatabase.db",SQLiteOpenFlags.ReadWrite| SQLiteOpenFlags.Create);Connection.CreateTable<TestTable>();//创建表
}

运行工程:
在工程的StreamingAssets文件夹中就可以看到我们创建出来的数据库
在这里插入图片描述

5.Navicat Premium(数据库可视化)

下载破解教程
使用步骤:
首先点击连接,选择SQLite
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.增删改查

6.1 增

单个增加:
注意: float类型数据精度有所丢失,解决方案就是将float类型的数据转为string类型保存下来,使用的时候再转回float

void InsertData()
{var p = new TestTable{Id = 1,Name = "Chinar",Age = 999,Height = 180.5f,Weight = 140.3f};Connection.Insert(p);
}

在这里插入图片描述
多个增加:

void InsertData()
{Connection.InsertAll(new[]  //插入一个数组,数组里是多条数据{new TestTable{Name = "小明",Age = 12,Height = 130.3f,Weight = 100.2f},new TestTable{Name   = "老皮",Age    = 12,Height = 133f,Weight = 96.2f},new TestTable{Name   = "狗子",Age    = 12,Height = 140f,Weight = 120.2f},new TestTable{Name   = "刚子",Age    = 13,Height = 135f,Weight = 85.6f},new TestTable{Name   = "阿豪",Age    = 13,Height = 123.4f,Weight = 99f},});
}

在这里插入图片描述

6.2 删

一、查找准确数据删除:

//首先查找到名字为小明的那一条数据,然后将其删除
var data = Connection.Table<TestTable>().Where(_ => _.Name == "小明").FirstOrDefault();
Connection.Delete(data);//删除

在这里插入图片描述
二、删除主键:

//删除主键为3的数据
Connection.Delete<TestTable>(3);

在这里插入图片描述

6.3 改

//获取到名字为“小明”的数据
var data = Connection.Table<TestTable>().Where(_ => _.Name == "小明").FirstOrDefault();
//更改 Weight 
data.Weight = 200f;
//更新数据
Connection.Update(data);

在这里插入图片描述

6.4 查

var datas = Connection.Table<TestTable>().Where(_=>_.Age == 12);//获取到所有Age为12的数据
foreach (var v in datas)//遍历
{Debug.Log(v.Name);
}

在这里插入图片描述


http://www.ppmy.cn/news/1518335.html

相关文章

查看特定软件网络请求信息

开始 运行 输入 wmic 再输入 process get ProcessId,executablepath 获取指定软件的 pid&#xff0c;例如获取的 pid 是 11008 再 开始 运行 输入cmd 输入 netstat -ano|findstr 11008 即可获取该程序的网络请求信息 参考 https://blog.csdn.net/zhangge360/article/detai…

微信小程序服务器费用一年多少?微信小程序开发

在互联网时代&#xff0c;微信小程序已成为众多企业和个人拓展业务、提升服务品质的有力工具。然而对于许多准备涉足小程序领域的朋友来说【开发一个小程序大概需要多少钱】以及【微信小程序服务器费用一年需要多少】是首要关注的问题&#xff0c;今天飞飞将和你们分享小程序服…

两个月冲刺软考——SQL基础:排序、分组和聚合函数的实用指南

1.涉及到的部分基本语法 1.1 ORDER BY 与 GROUP BY ORDER BY用于对查询结果进行排序&#xff1b;默认是升序&#xff08;ASC&#xff09;&#xff0c;可以指定降序&#xff08;DESC&#xff09;。 GROUP BY用于将数据按照一个或多个列进行分组&#xff1b;通常与聚合函数&am…

Mybatis框架——缓存(一级缓存,二级缓存)

本章将简单介绍Mybatis框架中的缓存&#xff0c;欢迎大家点赞➕收藏&#xff0c;蟹蟹&#xff01;&#xff01;&#xff01;&#x1f495; &#x1f308;个人主页&#xff1a;404_NOT_FOUND &#x1f308;MyBatis环境搭建步骤&#xff08;超全解析&#xff01;&#xff01;&am…

网络安全 DVWA通关指南 DVWA File Upload(文件上传)

DVWA File Upload&#xff08;文件上传&#xff09; 文章目录 DVWA File Upload&#xff08;文件上传&#xff09;修复建议 LowMediumHighImpossible 修复建议 1、使用白名单限制可以上传的文件扩展名 2、注意0x00截断攻击&#xff08;PHP更新到最新版本&#xff09; 3、对上传…

关键字之sizeof

接下来我讲的是之前我提到过的C语言关键字 sizeof同时它也是C语言提供的操作符&#xff08;运算符&#xff09; 它的使用形式有两种 1 sizeof&#xff08;类型&#xff09; 2 sizeof 表达式 sizeof返回某种数据类型或某个值占用的字节数量&#xff0c;它的参数可以是数据类型…

怎样通过bs4找出程序中 标签<div class=“List2“>中所有的<li>的内容?

怎样通过bs4找出程序中 标签<div class"List2">中所有的<li>的内容&#xff1f; 可以使用 BeautifulSoup 的 find_all 方法来找到标签为 <div class"List2"> 中的所有 <li> 标签&#xff0c;并获取其内容。 以下是一个示例代码&…

【面试经验】美团基础研发部产品经理面试经验

3.12 投递 4.1 一面 4.11 二面 4.17 oc但拒 一面内容&#xff1a; 1、一个指数增长的脑经急转弯 2、对向量和向量值如何理解 ——类比函数&#xff0c;目的是映射和转化 3、transformer有没有看&#xff08;问到了注意力机制&#xff09; ——transformer的本质是一个编码…

http连接处理

分析http类及请求接收 基础 epoll epoll_create函数 #include <sys/epoll.h> int epoll_create(int size) 创建一个指示epoll内核事件表的文件描述符&#xff0c;该描述符将用作其他epoll系统调用的第一个参数&#xff0c;size不起作用。 epoll_ctl函数 #include …

基于Python的热门旅游景点数据分析系统【python-爬虫-大数据定制】

&#x1f496;&#x1f525;作者主页&#xff1a;毕设木哥 精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; 实战项目 文章目录 实战项目 一、基于Python的热门旅游景点数…

sheng的学习笔记-AI-半监督聚类

AI目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 半监督学习&#xff1a;sheng的学习笔记-AI-半监督学习-CSDN博客 聚类&#xff1a;sheng的学习笔记-AI-聚类(Clustering)-CSDN博客 均值算法&#xff1a;sheng的学习笔记-AI-K均值算法_k均值算法怎么算迭代两次后的最大…

论文阅读:VideoMamba: State Space Model for Efficient Video Understanding

论文地址&#xff1a;arxiv 摘要 为了解决视频理解中的局部冗余与全局依赖性的双重挑战。作者将 Mamba 模型应用于视频领域。所提出的 VideoMamba 克服了现有的 3D 卷积神经网络与视频 Transformer 的局限性。 经过广泛的评估提示了 VideoMamba 的能力&#xff1a; 在视觉领…

Zookeeper 日志输出到指定文件夹,并按照日期轮循输出

更改日志输出路径 如果不做修改&#xff0c;zookeeper的日志信息默认都打印到了zookeeper.out文件中&#xff0c;这样输出路径和大小没法控制&#xff0c;因为日志文件没有轮转。所以需要修改日志输出方式。具体操作如下&#xff1a; 1.修改${zkhome}/bin/zkEnv.sh ZOO_LOG_…

我的推荐:腾讯云罗云《从零构建向量数据库》

在2024年8月&#xff0c;好几本和数据库相关的图书相继出版&#xff0c;我以为&#xff0c;这恰恰是数据库领域蓬勃向上的一种表现。 数据库需要更多的人关注&#xff0c;哪怕是谈论&#xff0c;所以我的《数据库简史》是一种尝试&#xff0c;希望以一种科普的风格&#xff0c;…

信息安全数学基础(4)最大公因数

前言 在信息安全数学基础中&#xff0c;最大公因数&#xff08;Greatest Common Divisor, GCD&#xff09;是一个核心概念&#xff0c;它在密码学、数论等多个领域都有广泛应用。以下是对最大公因数的详细阐述&#xff1a; 一、定义 设a和b是两个非零整数&#xff0c;若整数d同…

框架 +【Mybatis】概述 以及 基础环境搭建

目录 什么是框架&#xff1f; java后端框架包括 Mybatis概述 1、背景介绍 2、mybatis介绍 Mybatis环境搭建 1.创建一个maven项目 2.导入mysql数据库驱动包 导入mybatis依赖的jar包 3.创建一个全局的mybatis配置文件 4.创建数据库,创建表,准备数据 5.创建一个访问接口…

PHP一体化解决方案高效整合与优化学校管理系统小程序源码

一体化解决方案&#xff0c;让学校管理系统焕发新生✨ &#x1f3eb; 开篇&#xff1a;传统管理的瓶颈与挑战 在快节奏的教育时代&#xff0c;传统的学校管理系统是否让你感到力不从心&#xff1f;&#x1f914; 信息孤岛、流程繁琐、效率低下...这些问题是否正困扰着你的工作…

vue 使用el-table 设置了show-overflow-tooltip属性,路由跳转后,气泡不消失的解决办法

文章目录 一、问题场景二、解决方法1.问题bug2.最终解决 总结 一、问题场景 在vue项目里使用el-table做一个列表页面&#xff0c;表格设置了show-overflow-tooltip属性&#xff0c;文字过长时鼠标滑过会展示气泡显示全部文字内容&#xff0c;因为设置路由缓存&#xff0c;如果…

哈苏相机SD卡数据恢复指南:从格式化到重生

在摄影的世界里&#xff0c;‌哈苏相机以其卓越的画质和精湛的工艺赢得了无数摄影师的青睐。‌然而&#xff0c;‌面对不慎的误操作&#xff0c;‌如SD卡格式化&#xff0c;‌珍贵的照片和视频数据可能瞬间消失&#xff0c;‌这无疑是对摄影师的重大打击。‌本文将深入探讨如何…

PostgreSQL遍历所有的表并为其创建基于某个字段的索引

完整代码 以下以"collect_time"字段为例&#xff0c;其他字段请自行全局替换 DO $$ DECLAREtable_name TEXT;index_name TEXT; BEGIN-- 遍历 public 模式下的所有表FOR table_name IN (SELECT table_nameFROM information_schema.tablesWHERE table_schema publicOR…