Unity(数据库SQLite)

数据库的分类

本地数据库 在本地储存 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.Sqlite Unity\Editor\Data\Mono\lib\mono\2.0\Mono.Data.Sqlite.dll
【2017】System.Data Unity\Editor\Data\Mono\lib\mono\2.0\System.Data.dll
Sqlite3

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、释放资源 

reader close
command dispose
con close

                    

猜你喜欢

转载自blog.csdn.net/qq_24977805/article/details/122282555