14 SQLite数据库

Posted zhangpengyan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了14 SQLite数据库相关的知识,希望对你有一定的参考价值。

SQLite数据库
SQLite 是一款轻型的数据库
SQLite 的设计目标是嵌入式的
SQLite 占用资源低
SQL 指结构化查询语言
SQL 使我们有能力访问数据库
SQL 是一种 ANSI 的标准计算机语言

可视化SQLite操作:
数据大多以表的形式存储在数据库中,创建数据库就是将有所关联数据存储到一张表格中,所以可视化数据库操作就是在创建一个个的表格。
在这里使用到SQLiteManager

 

 

SQL语法(创建、增、删、查、改)
创建表格
create table if not exists 表名(字段一 约束 1...,字段二 约束,...)
往表格中插入一行数据
insert into 表名 values(值1,值2,。。。)
在插入数据时赋值的数量必须与创建表格时的变量个数类型保持一致
insert into 表名 (字段1,字段2,。。。) values(值1,值2,。。。)
在插入数据时,可自由控制插入数据的变量的个数,未赋值的变量会自动赋NULL
删除
delete from 表名 where 条件
删除表中所有数据
delete from Student
查找
select 字段名 from 表名
查找名字和ID
select s_name,s_id from Student
查找表中所有信息
select * from 表名
修改
update 表名 set 字段1=新值1 where 条件
update 表名 set 字段1=新值1 where 条件 and 条件 (两个条件都成立)
update 表名 set 字段1=新值1 where 条件 or 条件 (两个条件有一个成立)

Unity使用SQLite数据库
准备工作:导入mono.data.sqlite.dll文件到Assets 文件夹下
在脚本中添加 using Mono.Data.Sqlite;命名空间

//1、找到Unity工程中Sqlite文件
        string sqlStr = "Data Source =" + Application.streamingAssetsPath + "/UnityCheDui.sqlite";
//streamingAssets在Assets文件夹下要创建一个相同名字的文件夹,将要解析的数据文件放到该文件夹下
        //2、创建数据库连接对象
        SqliteConnection connection = new SqliteConnection (sqlStr);
        //3、创建数据库指令对象
        SqliteCommand command = connection.CreateCommand ();
        //4、打开数据库
        connection.Open ();
        //5、编写要执行的sqlite语句
        string sql = "select * from Student";
        //6、将要执行的SQL语句赋值给数据库指令对象
        command.CommandText = sql;
        //7、执行SQL语句
        SqliteDataReader reader = command.ExecuteReader ();
        //8、处理执行结果 判断是否执行成功
        while (reader.Read ()) {
            //reader.Read ()表示每次只读取一条数据(一个记录),如果读取成功返回为真,否则返回为假,并且一次往后执行,直到取到最后一条
            //获取查询结果的条数
            int count = reader.FieldCount;
            //遍历输出
            for (int i = 0; i < count; i++) {
                Debug.Log ("字段为:" + reader.GetName (i) + "值为:" + reader.GetValue (i));
            }
        }
        //关闭读取和连接
        reader.Close ();
        connection.Close ();

在Unity脚本中执行SQL语句的三中方式:
int ExecuteNonQuery()
返回受影响的行数(常用于执行增删改操作)
object ExecuteScaler()
返回查询到的第一个值(常用于只查询一个结果)
SqliteDataReader ExecuteReader()
返回所有的查询结果

在数据库中,对表的字段命名的时候,最好不要将字段对应的外界的变量名与表中字段名字相同,这样的话会出现语法错误

以上是关于14 SQLite数据库的主要内容,如果未能解决你的问题,请参考以下文章

当我从用户获取数据并将其保存到 SQLite 数据库中时,我应该怎么做才能使列表视图在片段中工作

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段

如果我想从另一个片段中添加书签,为啥我的书签单词没有保存到 sqlite 数据库?

导航抽屉片段 Sqlite

无法从片段中的 SQLite 获取数据