美文网首页
SQLite创建数据库

SQLite创建数据库

作者: MengkZhang | 来源:发表于2019-05-09 22:12 被阅读0次

    SQLite数据库用来储存大量的结构相同的数据,主要参照官方文档


    image.png

    创建数据库

    • 继承SQLiteOpenHelper类
      public class MySqliteOpenHelper extends SQLiteOpenHelper{

        /**
         * 构造方法
         * @param context :上下文
         * @param name:数据库名称
         * @param factory :游标工厂
         * @param version :数据库版本
         */
        public MySqliteOpenHelper(Context context, String name,
                CursorFactory factory, int version) {
            super(context, name, factory, version);
            // TODO Auto-generated constructor stub
        }
      
        /**
         * 表结构的初始化方法
         */
        @Override
        public void onCreate(SQLiteDatabase db) {
            // TODO Auto-generated method stub
            String sql = "create table info(_id integer primary key autoincrement,name varchar(20))";
            db.execSQL(sql);
            
        }
      
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            // TODO Auto-generated method stub
            
        }
      

      }

    • 调用getWritableDatabase方法获取数据库操作实例SQLiteDatabase

        public void createDb(View view) {
            MySqliteOpenHelper helper = new MySqliteOpenHelper(this, "mengk.db", null, 1);
            SQLiteDatabase db = helper.getWritableDatabase();
        }
      

    会在data/data下生成相应的数据库文件

    数据库文件生成的目录

    onUpgrade方法#

    当数据库升级的时候执行 用来更新表结构 当原来数据库从V1升级到V2 给info表增加phone字段

        /**
         * 数据库升级的时候执行 
         * 用来更新表结构
         */
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            // TODO Auto-generated method stub
            String sql = "alter table info add phone varchar(20)";
    db.execSQL(sql);
            System.out.println("数据库升级了 从1升级到2");
            
        }
    
    
        public void createDb(View view) {
    //      MySqliteOpenHelper helper = new MySqliteOpenHelper(this, "mengk.db", null, 1);
            MySqliteOpenHelper helper = new MySqliteOpenHelper(this, "mengk.db", null, 2);
            SQLiteDatabase db = helper.getWritableDatabase();
        }
    

    执行结果


    image.png

    相关文章

      网友评论

          本文标题:SQLite创建数据库

          本文链接:https://www.haomeiwen.com/subject/pbcnoqtx.html