irpas技术客

Unity(数据库SQLite)_一年时间升本,随缘更新_sqlite unity

网络投稿 7978

数据库的分类

本地数据库在本地储存Sqlite网络数据库在网络服务器中储存

Oracle(甲骨文)

SQL Server(微软)

My SQL(Google)

DB2(IBM)

SqliteManager(Sqlite数据库管理工具)

????????关系型数据库结构

????????????????

数据库操作语言——SQL语句

增 插入全数据

语法: Insert Into 表名称 Values (值1, 值2, ...)

注意:Values(所有的值都要写进来)

举例: Insert Into?StudentInfo Values('20200101','刘盼','18','马达加斯加')

插入部分数据

语法: Insert Into 表名称 (字段名称1,字段名称2) Values (值1, 值2, ...)

举例: Insert Into?StudentInfo (Num,Name,Age) Values('20200101','刘盼','18')

语法: Update 表名称 Set 字段名称1 = 新值 Where 字段名称2 = 某值

举例: Update StudentInfo Set Address = '马达加斯加' Where Name = '刘盼'

语法: Select 字段名称 From 表名称 Where 列表 = 某值(And(与)、Or(或))

查询部分字段: Select Age From StudentInfo Where Name = '李狗蛋'

查询所有字段: Select * From StudentInfo Where Name = '刘盼'?

模糊查询: Select * From StudentInfo Where Name Like '%L%'

查询并排序: Select * From StudentInfo Order By Age ASC/DESC?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(ASC)从小到达排序

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? (DESC)从大到小排序

语法: Delete From 表名称 Where(条件)

举例: Delete From StudentInfo Where Num = '20200101'

注意: 这里一定需要加Where(条件)不然这个表格中的数据所有都会删除小

编程实现增删改查

? ? ? ? 1、将DLL导入工程Plugins文件夹

Mono.Data.SqliteUnity\Editor\Data\Mono\lib\mono\2.0\Mono.Data.Sqlite.dll【2017】System.DataUnity\Editor\Data\Mono\lib\mono\2.0\System.Data.dllSqlite3

1、https://www.sqlite.org/download.html

2、Precompiled Binaries for Windows

3、【64位电脑】sqlite-dll-win64-x64-3310100.zip

? ? ? ? 2、using Mono.Data.Sqlite;

? ? ? ? 3、创建路径(流路径)—— 固定写法“Data Source = ” + 路径

? ? ? ? ? ? ? ??更多判断平台的指令

public string GetDataPath(string databasePath) { #if UNITY_EDITOR 【使用Unity引擎运行的】 return String.Concat("data source=", Application.streamingAssetsPath, "/", databasePath); #endif #if UNITY_ANDROID【使用安卓系统运行的】 return String.Concat("URI=file:", Application.persistentDataPath, "/", databasePath); #endif #if UNITY_IOS 【使用苹果系统运行的】 return String.Concat("data source=", Application.persistentDataPath, "/", databasePath); #endif }

? ? ? ? 4、创建数据库连接对象(SqliteConnection)并在构造函数中传入数据库所在的路径

? ? ? ? 5、通过数据库连接对象创建指令对象(SqliteCommand)

? ? ? ? 6、打开数据库连接方法(Open方法)

? ? ? ? 7、将SQL语句传入指令对象(属性CommandText)

? ? ? ? 8、执行SQL语句(SqliteCommand)?

ExecuteNonQuery ()

作用:执行SQL语句,并返回受影响的行数

使用范围:增删改

ExecuteScalar ()

作用:执行SQL语句,并返回查询到的第一个结果(第一行第一列)

使用范围:查询单个数据(查询到的结果是一行一列)

ExecuteReader()

作用:执行SQL语句,返回所有查询到的结果(SqliteDataReader)

使用范围:查询多个结果(多行多列)

取数据:? ?Read()? ? ? ? ? ? ? ? ? ? ? ?读取下一行? ? ? ?

? ? ? ? ? ? ? ???FieldCount? ? ? ? ? ? ? ? ? ? ?列数

? ? ? ? ? ? ? ? ?GetName(列号)?? ? ? ? ?获取该列的字段名

? ? ? ? ? ? ? ? ?GetValue(列号)? ? ? ? ? 获取该列的值

?注意: 当数据读取完毕后记得执行关闭读取器的方法 reader.Close();?

?注意: 一旦声明了一个reader就不可以再使用执行CommandText语句了,如果还需要执行必须先执行前面的关闭读取器方法

? ? ? ? 9、释放资源?

readerclosecommanddisposeconclose

? ? ? ? ? ? ? ? ? ??


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #sqlite #Unity #Server微软My #Insert #into #表名称