Sqlite 安卓的数据库使用

来源:互联网 发布:淘宝待配货是什么意思 编辑:程序博客网 时间:2024/05/16 19:41
Sqlite 安卓的数据库使用
    进入安卓数据库可以使用传统的方法
    打开命令窗口  cmd
    输入 abd shell
    出现 # 各种手机可能不同
    输入 ls 这是遍历该窗口界面的文件
    输入 #cd data/data/项目名(包名)/databases/  进入应用数据库所在目录
    输入 ls 遍历该窗口界面的文件
    输入 #sqlite3 *contacts.db 这是进入联系人列表
    输入 .table 查看该所有的表
    输入 .schema查看建表语句!
    .quit 或者 .exit 返回上一级
    数据库的基本操作
    增 insert into student(id,name,age)values(1001,jack,23);    
    删 delete from student where name=jack;
    改 update student set name = john where id = 1001;
    查 select*from student where id=1001;
    
    对于查找要特别注意,如果是命令行操作,当然是没有问题
    但是很多时候我们是需要用代码去完成的,这时我们需要一个接受
    对象 Cursor
     String finddata = ("select * from student where id="+idquery);
       Cursor cursor = sqLiteDatabase.rawQuery(finddata,null);
    
    
    
    当然androidstudio还有更方便的可视化查看数据库以及操作数据库
    选择 Tools 的菜单,选择最后的Android 选择 Android Device Monitor
    这时有一个窗口,左边是连接的设备 online 右边是各种选项 File Explore
    选项菜单里,可以查找你想查找的文件,点击下方的导出选项,然后使用
    下载的sqlitebrowser程序
    可以直接拉入导出的文件,也可以点击Open Database选项,找到导出的文件位置,
    选中即可,下面有四选项
    1,Creat Table 这界面可以创建新的表
    2,Browse Data 选中后,在下面的Table选项中,点击弹出table选项,选择想要选择的表
    3,Edit Pragmas 是对表的各种属性赋值

    4,Execute SQL 是可以用sql语句进行编辑表



创建一个类继承SQLiteOpenHelper
    public class DataBaseHelper extends SQLiteOpenHelper {
    private final static String DATABASE_NAME = "android1601.db";
    private final static int DATABASE_VERSION = 1;

    /**
     * 初始化数据库
     * 数据库名称
     * 数据库版本号
     * @param context
     */
    public DataBaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        Logs.e("DataBaseHelper 构造方法");
    }

    /**
     * 在数据库第一次创建时执行
     * @param db
     */
    @Override
    public void onCreate(SQLiteDatabase db) {
        String tablesql = "create table user(id Integer,name varchar(20),password varchar(6) ,PRIMARY KEY(id))";
        db.execSQL(tablesql);
        Logs.e("onCreate 方法");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Logs.e("onUpgrade 方法 oldVersion"+oldVersion + " ,newVersion  "+newVersion);
    }
}

public class SqliteActivity extends AppCompatActivity implements View.OnClickListener{
    private Button mAddDataBtn,mQueryBtn;
    private DataBaseHelper mDataBaseHelper;
    private SQLiteDatabase sqLiteDatabase;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sqlite_layout);
        
        mAddDataBtn = (Button) findViewById(R.id.sqlite_add_data_btn);
        mQueryBtn = (Button) findViewById(R.id.sqlite_query_btn);
        mAddDataBtn.setOnClickListener(this);
        mQueryBtn.setOnClickListener(this);

        mDataBaseHelper = new DataBaseHelper(this);//实例化该类
        sqLiteDatabase = mDataBaseHelper.getReadableDatabase();//创建或者打开数据库,回调DataBaseHelper类中oncreate()方法
    }

    @Override
    public void onClick(View v) {
        switch(v.getId()){
            case R.id.sqlite_add_data_btn:
                String sqladd = "insert into user values(2,\"李思\",\"abc\")";
                sqLiteDatabase.execSQL(sqladd);
          
                break;
            case R.id.sqlite_query_btn:
                String querySQL = "select * from user";
                Cursor cursor = sqLiteDatabase.rawQuery(querySQL,null);
                while(cursor.moveToNext()){
                    String name = cursor.getString(cursor.getColumnIndex("name"));
                    String password = cursor.getString(cursor.getColumnIndex("password"));
                    Logs.e("name :"+name+" password :"+password);
                }
                break;
        }
    }
}

0 0
原创粉丝点击