`
ch_kexin
  • 浏览: 904609 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

SQLite存储数据(小细节)

 
阅读更多

打开SQLite 数据库两种方式: 

通过openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory factory)方法创建数据库。

   1 SQLiteDatabase db =this.openOrCreateDatabase("test_db.db", Context.MODE_PRIVATE, null);
   2 SQLiteDatabase db2 = SQLiteDatabase.openOrCreateDatabase("/data/data/com.test/databases/test_db2.db3", null);
 如上两种方式均能创建数据库,this.openOrCreateDatabase是对SQLiteDatabase.openOrCreateDatabase而来,如代码所见,原生的SQLiteDatabase.openOrCreateDatabase()方法第一参数要求输入绝对路劲,而所有的数据库都是储存于“data/data/应用报名/databases”目录下,所以输入完全的绝对路劲是一件重复且繁杂的工作。采用this.openOrCreateDatabase则省去了此操作。执行操作后的结果如下图:
 

另外还可以通过写一个继承SQLiteOpenHelper类的方式创建数据库,此种方式是一种更加进阶的创建方式,所以在此不做描述。

Android SQLite数据库判断某张表是否存在的语句:
1、可以在创建表之前判断,这样就不会重新创建,create table if not exists Student(name text primary key, code integer); 比平时多了if not exists
2、String sql = "select name from sqlite_master where type='table';";
Cursor cursor = db.rawQuery(sql, null);
  while(cursor.moveToNext()){
   //遍历出表名
   String name = cursor.getString(0);
   Log.i("System.out", name);
  }
3、String sql = "select count(*) as c from sqlite_master where type ='table' and name ='Student';";
Cursor cursor = db.rawQuery(sql, null);
    if(cursor.moveToNext()){
          int count = cursor.getInt(0);
          if(count>0){
               result = true;
           }
     }

Android sqlite3数据库管理工具

Android SDK的tools目录下提供了一个sqlite3.exe工具,这是一个简单的sqlite数据库管理工具。开发者可以方便的使用其对sqlite数据库进行命令行的操作。

 

程序运行生成的*.db文件一般位于"/data/data/项目名(包括所处包名)/databases/*.db",因此要对数据库文件进行操作需要先找到数据库文件:

1、进入shell 命令

adb shell

 

2、找到数据库文件

#cd data/data

#ls                --列出所有项目

#cd project_name   --进入所需项目名

#cd databases    

#ls                --列出现寸的数据库文件

 

3、进入数据库

#sqlite3 test_db   --进入所需数据库

会出现类似如下字样:

SQLite version 3.6.22

Enter ".help" for instructions

Enter SQL statements terminated with a ";"

sqlite>

至此,可对数据库进行sql操作。

 

4、sqlite常用命令

>.databases        --产看当前数据库

>.tables           --查看当前数据库中的表

 

>.help             --sqlite3帮助

分享到:
评论

相关推荐

    mysql2sqlite异构数据转.rar

    - **数据读取模块**:从MySQL读取需要同步的数据,可以使用SQL查询或存储过程。 - **数据转换模块**:将MySQL的数据结构和格式转换为SQLite兼容的格式。 - **数据写入模块**:将转换后的数据写入SQLite数据库,...

    winform使用sqlite数据库自定义用户控件分页源码

    SQLite支持SQL标准,并且具有事务处理、索引、触发器等功能,适合小型到中型的数据存储需求。 2. **C#编程**:C#是微软开发的一种面向对象的编程语言,用于.NET Framework。在这个项目中,C#用于编写WinForm界面和...

    Inside SQLite(SQLite技术内幕) 原版+个人翻译版

    这可能是作者个人对SQLite的深入理解和研究,可能包含了SQLite的架构解析、存储机制、查询优化、事务处理、索引构建等核心知识点。文档可能会详细阐述SQLite如何在内存和磁盘之间管理数据,包括页缓存机制、B-Tree...

    sqlite-autoconf.tar.gz_sqlite_sqlite 加密_sqlite3autoconf_wxsqlite

    这个功能使得 SQLite 数据库在存储时更加安全,防止未经授权的访问。然而,描述中提到“加密,不过密码不全,输入密码老是出错”,这可能意味着用户在尝试使用加密的 SQLite 数据库时遇到了问题,可能是由于错误的...

    Delphi使用ASqlite3 连接SQLite上例子

    SQLite是一种嵌入式关系型数据库,无需单独的服务器进程,所有数据都存储在单个文件中,适合于移动设备或小型应用程序。ASqlite3控件则是Delphi开发者连接SQLite的工具,它提供了一系列的方法和属性,使得我们可以...

    Sqlite的C#通用类和Sqlite工具

    Sqlite是一种轻量级的、开源的嵌入式数据库,广泛应用于各种跨平台的应用程序中,尤其是对于那些不需要服务器环境或者需要快速数据存储的应用。在C#编程中,与Sqlite交互通常需要借助特定的库,例如System.Data....

    安卓SQLite数据库相关-简易记事本支持新建页面确认自动换行记事本数据使用SQLite本地存储源码也有比较丰富的注释.rar

    标题中的“安卓SQLite数据库相关-简易记事本支持新建页面确认自动换行记事本数据使用SQLite本地存储源码也有比较丰富的注释”表明这是一个关于Android应用开发的项目,特别涉及SQLite数据库的使用。这个应用是一个...

    SQLite数据库 加密解密工具

    描述中的"SQLite数据库加密解密小工具"应该是一个.NET库或应用程序,它提供了对SQLite数据库加密和解密的功能。这个工具可能使用了某种加密算法(如AES)对数据库文件进行加解密,确保数据在存储和传输过程中的安全...

    SQLite3使用blob存储文件的VC程序

    SQLite3是一款轻量级的嵌入式数据库,它在许多应用程序中被广泛使用,特别是那些需要在本地存储数据但又不希望使用复杂的关系型数据库管理系统(RDBMS)的情况。Blob(Binary Large Object)是SQLite3中用于存储二...

    android新手数据之SQLite数据库存储

    在Android开发中,SQLite数据库是应用内数据存储的常用方式,尤其适合小规模的数据存储。SQLite是一个轻量级的、关系型的数据库,它不需要单独的服务器进程,且支持标准SQL语法,使得开发者能方便地进行数据操作。...

    SQLite网络化工具包

    这种工具包在许多需要分布式数据存储和处理的场景中非常有用,比如物联网(IoT)设备、移动应用、小型服务器以及任何无法或不便使用大型数据库系统的环境。 SQLite是一款轻量级的关系型数据库管理系统,以其小巧、...

    VB6 下使用SQLite 的完整例子,最全面

    这个“SQLite VB完整例子”提供了全面的示例代码,帮助开发者了解如何在VB6中集成SQLite进行数据存储和管理。 首先,你需要安装SQLite的VB6驱动程序,这通常是一个动态链接库(DLL),如SQLite3.dll。将此文件添加...

    中文SQLite参考书册

    它们可以用于简化复杂的查询,隐藏数据细节,或者提供安全性。 7. **触发器**:SQLite的触发器是在特定的数据库操作(如INSERT, UPDATE, DELETE)发生时自动执行的SQL代码,常用于实现业务规则或数据验证。 8. **...

    sqlite3.zip

    4. 在osgEarth中,可能还需要配置SQLite3与地形、影像数据等地理数据的交互,例如通过查询数据库获取特定区域的地形高程,或者加载存储在SQLite数据库中的矢量数据。 总之,sqlite3.zip提供了SQLite3的源码和预编译...

    sqlite3实验指导书

    首先,文档中提到了SQLite数据类型的细节。SQLite的数据类型比较灵活,实际上它不强制数据类型,允许存储任何类型的数据到任何列中。尽管如此,为了使用数据类型的好处,如提高效率和易于理解,SQLite定义了以下几种...

    SQLite教程详细描述了SQlite的使用及其架构、内部实现

    通过FTS(全文搜索)模块等扩展,SQLite支持创建虚拟表,这些表的数据并不直接存储在磁盘上,而是通过特殊的机制动态生成。 **4. 加密支持** SQLite可以通过加载加密扩展(如SQLite Encryption Extension)来实现...

    C#+sqlite 登录Demo

    3. **动态连接库(DLL)引用**:在C#项目中,我们需要引用SQLite的.NET数据提供程序,这通常是一个DLL文件。通过添加引用,我们可以使用SQLite的数据访问接口,如SQLiteConnection、SQLiteCommand等。 4. **数据库...

    C++操作sqlite数据库

    使用C++语言来操作sqlite数据库可以实现高效、灵活的数据存储和管理。 在使用C++操作sqlite数据库之前,需要准备好相关的环境和依赖项。首先,需要下载sqlite3.dll动态链接库,并将其添加到项目文件中,添加对它的...

Global site tag (gtag.js) - Google Analytics