Android下的数据存储之SQLite数据库

    xiaoxiao2021-11-30  53

    1.  创建数据库

    第一步:

    写个类 ,继承 SQLiteOpenHelper

    publicclass MyDatabaseOpenHelper extends SQLiteOpenHelper {}

     

    第二步:

    添加一个构造函数,并且  指定必要的参数,

       // context : 应用程序上下文

       // name :  数据库的名称 

       // factory :  游标工厂  

       // version :  数据库的版本

       public MyDatabaseOpenHelper(Context context) {

          super(context,"config.db",null, 1);

       }

     并且在oncreate方法中,通过 db对象来执行sql语句, 创建表

     db.execSQL("createtable users (_id integer primary key autoincrement, name varchar(10), passwordvarchar(20))");

     

    第三步:

      new 对象, 然后 获得 数据库实例对象, 那么就可以创建数据库了

      //这里这行代码的执行只是创建了 helper实例对象,但是并不会创建数据库文件

      MyDatabaseOpenHelper helper =new MyDatabaseOpenHelper(this);

      //这行代码执行,数据库文件才会创建

      SQLiteDatabasedb =helper.getReadableDatabase();

         用db对象即可执行spl语句,操作数据库中的数据 : db.execSQL(sql语句)

    2.  onCreate 与 onUpgrade 方法

         onCreate 方法只有在首次创建数据库的时候才会得到执行

          一般在这里主要去创建表。

     

        onUpgrade 方法只有在数据库的版本升级的时候才会得到执行

        数据库的版本只能够升级,不能够降级, 数据库的版本升级的时候可以跳级 ,

        一般在这里主要用来修改已经有的表的结构. 或者 新添加其他的表.

        如果需要新增一列:db.execSQL("altertable info add money varchar(10)");

    3.常用Sql语句

    主键: 这列的值,必须是唯一的, 并且不会为 空

     

      创建表:

    create table users (id integer primary keyautoincrement, name varchar(10), password varchar(20));

     

     插入数据到表中:

    insert into users values(null,'zs','123');

     

     删除表中的数据:

    delete from users;        删除所有的数据

    delete from users where name='ww' andpwd='789';     删除 数据时带限定 条件,这个表示删除name=’ww’ 并且 pwd=’789’的记录

     

     修改表中的数据:

    update users set name='ls',pwd='123' where name='lh';  修改数据,  表示 修改 name=’lhh’的name=’ls’ 和pwd=’123’

    update users set name='werx" where name='zl';   修改数据, 将 name=’zl’ 的 name  改为name=’werx’                                          

     

     查询表中的数据:

    select * from users;   查询表中所有的数据

    select id,name,pwd from users;   查询 表中所有的 id, name, pwd信息显示出来

    select id,name,pwd from users where name='werx';   查询 name=’werx’的  id,name,pwd信息                         

    转载请注明原文地址: https://ju.6miu.com/read-679220.html

    最新回复(0)