数据库

SQL语句增删改查

1.增加信息:insert into 表名(字段列表)values(值列表)
2.删除信息:delete from 表名 where 条件子句
3.修改信息:update 表名 set 字段名 = 值 where 条件子句
4.查询星系:select * from 表名

SQL表关系

1.一对一
2.一对多
3.多对多

SQLiteDatabase操作SQLite数据库

1.打开或创建数据库:openOrCreateDatabase(Stringpath,SQLiteDatabase.CursorFactory factory)
2.添加一条记录:insert(String table,String nullColumnHack,ContentValues values)
3.删除一条记录:delect(String table,String whereClause,String[] whereArgs)
4.查询一条记录:query(String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy)
5.修改记录:update(String table,ContentValues values,String whereClause,String[] whereArgs)
6.执行一条SQL语句:execSQL(String sql)
7.关闭数据库:close()

SQLiteOpenHelper的实现

一、抽象类:SQLiteOpenHelper

二、抽象方法:

onCreate(建表,存放在/data/data/packagename/databases/)
onUpgrade

三、实例方法,可以创建或者打开一个数据库,返回可对数据库进行读写操作的对象

1.getReadableDatabase:创建或打开一个仅仅可读的(read-only)数据库
2.getWritableDatabase:创建或打开一个可读可写的数据库

四、构造方法:一般用参数较少的那个

四个参数:1.context、2.库名、3.null(自定义cursor一般为null)、4.版本号

五、数据类型

integer整型、real浮点型、text文本类型、blob二进制类型

六、操作方法

查询:db.rawQuery(),其他:db.execSQL()

七、SQLite支持事务

事务的特性可以保证让一系列的操作要么全部完成,要么一个都不完成
db.beginTransaction();//开启事务
db.setTransactionSuccessful();//事务执行成功
db.endTransaction();//结束事务

八、升级

@Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        switch (newVersion){
            //没有break为了跨版本升级成功
            case 1:
                db.execSQL("");
            case 2:
                db.execSQL("");
            default:
        }
    }

Cursor常用方法

getCount():获得总的数据条数
isFirst():判断是否为第一条数据
isLast():判断是否为最后一条数据
moveToFirst():移动到第一条数据
moveToLast():移动到最后一条数据
move(int offset):移动到指定记录
moveToNext():移动到下一条记录
moveToPrevious():移动到上一条记录
getColumnIndexOrThrow(String columnName):根据列名获得列索引
getInt(int columnIndex):获得指定列索引的int类型值
getString(int columnIndex):获得指定列索引的String类型值

你可能感兴趣的:(数据库)