Android数据库sqlite操作及查看

1、Android studio 关于SQlite数据库导出,创建数据库、表以及如何查看操作

参考:https://blog.csdn.net/kuishao1314aa/article/details/79878000

1.首先,你要确定你的模拟器或手机已经Root,若没有,在你的android SDK的platform-tools目录下打开shell命令行·

如,我的是:C:\Users\10378\AppData\Local\Android\Sdk\platform-tools

输入 adb root破解root权限

然后输入 adb remount ,看是否破解成功,成功会显示success之类的提示。

导出数据库直接看4.

2.已经获取root权限后,输入adb shell命令,进入shell命令行

#代表管理员权限,此后,进入你的项目目录,在你的项目目录下可以创建数据库、表、插入、删除数据等操作,查看创建的数据库表和库,直接看5,这是命令行的形式。

下面说下用代码创建库与表,新建一个数据库类,继承SQliteOpenHelper类,创建表

public class MyDatabaseHelper extends SQLiteOpenHelper{
    //建立三个表,分别为user、leave、sign
    public static final String user="CREATE TABLE \"user\" (\n" +
            "\t`id`\tINTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,\n" +
            "\t`name`\tTEXT,\n" +
            "\t`id_number`\tTEXT,\n" +
            "\t`password`\tTEXT,\n" +
            "\t`class`\tTEXT,\n" +
            "\t`type`\tINTEGER,\n" +
            "\t`sign_number`\tINTEGER\n" +
            ")";
    public static final String sign="CREATE TABLE \"sign\" (\n" +
            "\t`sign_id`\tINTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,\n" +
            "\t`name`\tTEXT,\n" +
            "\t`status`\tINTEGER,\n" +
            "\t`sign_time`\tTEXT,\n" +
            "\t`location`\tTEXT\n" +
            ")";
    public  static final String leave="CREATE TABLE `leave` (\n" +
            "\t`leave_id`\tINTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,\n" +
            "\t`name`\tTEXT,\n" +
            "\t`start_time`\tTEXT,\n" +
            "\t`end_time`\tTEXT,\n" +
            "\t`cause`\tTEXT\n" +
            ")";
    private Context mcontext;
    public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory,int version){
        super(context,name,factory,version);
        mcontext=context;
    }

    @Override
    //执行数据库操作
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(sign);
        db.execSQL(user);
        db.execSQL(leave);
        Toast.makeText(mcontext,"Create succeeded",Toast.LENGTH_SHORT).show();
    }

    @Override
    //更新数据库
    public void onUpgrade(SQLiteDatabase db, int i, int i1) {
     db.execSQL("drop table if exists user");
     db.execSQL("drop table if exists sign");
     db.execSQL("drop table if exists leave");
     onCreate(db);
    }
}

3.在主函数中创建数据库

private MyDatabaseHelper dbhelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dbhelper=new MyDatabaseHelper(this,"dbst.db",null,2); //数据库建立并升级
        dbhelper.getWritableDatabase();   //创建数据库

4.导出数据库

首先确保你已经root过了,打开file explorer,在data/data/你的项目名/databases下导出,

点击右上角pull可以导出。若没有取得root权限择无法显示这些数据

用SQlite可视化工具打开.db文件即可看到你创建的数据库,或者下面的命令行查看

5.可以再前面说的shell命令行中查看你的数据库

在你的项目目录下

ls

cd databases

选中数据库:sqlite3 dbst.db

查看数据库中表和结构信息

.schema

.table

同时,在这里可以自己添加、删除数据到表中,与mysql语句一样,这里不加赘述。

2、SQLiteStudio 工具查看sqlite数据库内容

参考:https://www.cnblogs.com/woider/p/5143930.html

当 SQLite 数据库创建完成后,如何查看数据库的内容呢?如果直接使用 File Explorer 查看,最多只能看到 database 目录下出现了一个 BookStore.db 文件,Book 表是无法通过 File Explorer 看到的。

我将简单介绍两种 SQLite 数据库的查看方式,来对数据库和表的创建情况进行检查。

-----------------------------------数据库可视化工具------------------------------------------

首先下载一个 SQLiteStudio 工具:

接下来导出 /data/data/<包名>/database/ 目录下的 BookStore.db 文件:

将导出的 BookStore.db 添加到 SQLiteStudio中:

打开 BookStore 数据库,就可以对book表进行查看和编辑了:

编辑完成后也可将它重新导入到手机中。

这个方法虽然简单,但是较为麻烦,每次查都需要重新导出文件。适合在查看数据的情况下使用,不适合在对数据库进行调试时使用。

-----------------------------------命令行实用程序------------------------------------------

adb是Android SDK中自带的一个调试工具,使用这个工具可以直接对连接在电脑上的手机或模拟器进行调试操作。它存放在 sdk 的 platform-tools 目录下,如果想要在命令行中使用这个工具,就需要先把它的路径配置到环境变量里。

Windows 系统下配置环境变量:

配置好了环境变量之后,就可以使用adb工具了。

打开命令行界面,输入 adb shell,进入设备控制台:

/*输入 abd shell 进入设备控制台*/
C:\Users\dudon>adb shell

/*使用 cd 命令进入到数据库存放目录下*/
root@vbox86p:/ # cd /data/data/com.example.dudon.databasetest/databases/

/*使用 ls 命令查看该目录里的文件*/
root@vbox86p: # ls

BookStore.db
/*db-journal是为了让数据库能够支持事务而产生的临时日志文件*/
BookStore.db-journal

/*借助 sqlite 命令打开数据库,输入sqlite3加数据库名即可*/
root@vbox86p: # sqlite3 BookStore.db                                                              <
SQLite version 3.7.11 2012-03-20 11:35:50
Enter ".help" for instructions
Enter SQL statements terminated with a ";"

/*输入 .table 命令,查看数据库中的表*/
sqlite> .table
android_metadata  book

/*输入 .schema 命令查看建表语句*/
sqlite> .schema
CREATE TABLE android_metadata (locale TEXT);
CREATE TABLE book (id  integer PRIMARY KEY Autoincrement ,
    author text ,price real ,pages integer,name text );

sqlite>

由此证明,BookStore.db 数据库和 Book 表确实已经创建成功了。

之后键入 .exit 或 .quit 命令就可以退出数据库的编辑,再键入 exit 命令就可以退出设备控制台了。

猜你喜欢

转载自blog.csdn.net/WSN_IPv6/article/details/82658710