SQLite存储数据(小细节)

本文介绍了在Android中使用SQLite数据库的两种主要方法:通过`openOrCreateDatabase`方法直接创建及通过继承`SQLiteOpenHelper`类创建数据库。此外还提供了判断表是否存在、使用Android SDK自带的sqlite3工具进行数据库管理的方法。

打开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帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值