数据库的分类
本地数据库 | 在本地储存 | 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 |