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

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语句一样,这里不加赘述。


猜你喜欢

转载自blog.csdn.net/kuishao1314aa/article/details/79878000