美文网首页
Android数据库的创建

Android数据库的创建

作者: InvisibleJ | 来源:发表于2017-12-10 22:42 被阅读0次

1.创建数据库的帮助类SQLiteOpenHelper
onCreate()一般用于初始化数据库表。onUpgrade() 升级数据库版本 当newVersion>oldVersion时执行此方法。 一般用于更新数据库,包括删除表,添加表等各种操作.

public class MySqliteOpenHelper extends SQLiteOpenHelper{
    public MySqliteOpenHelper(Context context) {
         //Context,表名,游标工厂:一般用于数据库的查询,版本号
        super(context, "info.db", null, 1);
    }
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL("create table info(_id integer primary key autoincrement,name varchar(20),phone varchar(11))" );
    }
    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
    }
}

2.执行sql语句需要SQLiteDatabase对象,调用getReadableDatabase方法,来初始化数据库的创建
MySqliteOpenHelper mySqliteOpenHelper = new MySqliteOpenHelper(context); ;
SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
然后就可对数据库进行操作
3.执行完,关闭数据库对象db .close()
4.数据库的添加
通过ContentValues是用map封装的对象,用来存放值
long result = db.insert(table, nullColumnHack, values),
table: 表名 , nullColumnHack:可以为空,标示添加一个空行, values:数据一行的值 , 返回值:代表添加这个新行的Id ,-1代表添加失败.insert()底层是在拼装sql语句

public boolean add(Infobean bean) {
        SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
        ContentValues value = new ContentValues();
        value.put("name", bean.name);
        value.put("phone", bean.phone);
        long result = db.insert("info", null, value);
        db.close();
        if (result != -1) {
            return true;
        } else {
            return false;
        }
    }

5.数据库的删除
int result = db.delete(table, whereClause, whereArgs);
table :表名, whereClause: 删除条件, whereArgs:条件的占位符的参数 ; 返回值:成功删除多少行

public int del(String name){
        SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
        int result = db.delete("info", "name = ?", new String[]{name});
        db.close();
        return result;
    }

5.数据库的修改
int result = db.update(table, values,whereClause, whereArgs);
table:表名, values:更新的值, whereClause:更新的条件, whereArgs:更新条件的占位符的值,返回值:成功修改多少行

public int update(InfoBean bean){
        SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
        ContentValues values = new ContentValues();
        values.put("phone", bean.phone);
                int result = db.update("info", values, "name = ?", new String[]{bean.name});
        db.close();
        return result;
    }

6.数据库的查询
Cursor cursor = db.query("table ,columns, selection, selectionArgs, groupBy, having,orderBy);
table:表名, columns:查询的列名,如果null代表查询所有列; selection:查询条件, selectionArgs:条件占位符的参数值,groupBy:按什么字段分组, having:分组的条件, orderBy:按什么字段排序.返回的是一个游标对象。
游标需要关闭

public void query(String name){
        SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
        Cursor cursor = db.query("info", new String[]{"_id","name","phone"}, "name = ?", new String[]{name}, null, null, "_id desc");
        if(cursor != null && cursor.getCount() >0){
            while(cursor.moveToNext()){
                int id = cursor.getInt(0);
                String name_str = cursor.getString(1);
                String phone = cursor.getString(2);
                System.out.println("_id:"+id+";name:"+name_str+";phone:"+phone);
            }
            cursor.close();
        }
        db.close();
    }

相关文章

  • 3.21

    数据库 Android中的数据库,sqlite 创建数据库 创建一个类继承 SQLiteOpenHelper需要重...

  • SQLite数据库存储--创建、升级数据库

    SQLite数据库存储--创建、升级数据库 SQLite是一款轻量级的关系型数据库 创建数据库 Android为了...

  • Android 基础day03

    Android基础第三天 1 Android下数据库创建 2 Android下数据库第一种方式增删改查 3 And...

  • 数据存储学习笔记

    Sqlite 使用 创建数据库 创建表 Android为了让我们能方便的管理数据库,提供了一个SQLiteOpen...

  • Android本地存储——SQLite数据库

    数据库的创建与升级 Android中专门提供了SQLiteOpenHelper帮助类,帮助我们创建和升级数据库。S...

  • Android基础第三天

    1 Android下数据库创建 2 Android下数据库第一种方式增删改查 3 Android下另外一种增删改查...

  • Android - base - SQLite

    Android 自带的SQLite数据库 大纲 SqLite 数据类型 核心类 创建和升级数据库 CRUD操作 #...

  • 6

    结构 1:Android中数据库的创建 2:ListView的优化 3:数据库的分页查询以及ListView分页展示

  • Android - base - LitePal

    Android 数据库ORM:对象关系映射框架 大纲 LitePal 环境配置 核心类 创建和升级数据库 CRUD...

  • Android数据库的创建

    1.创建数据库的帮助类SQLiteOpenHelperonCreate()一般用于初始化数据库表。onUpgrad...

网友评论

      本文标题:Android数据库的创建

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