Android:SQLite

1、什么是SQLite

        SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。

2、SQLite的特点

             轻量、无需配置、本地化

3、创建数据库

                新建一个class,继承SQLiteOpenHelper

                实现两个抽象方法 onCreate() onUpgrade() 创建一个带参的构造方法

                在构造方法中 创建数据库

                在onCreate() 方法中,创建表和插入数据

 在手机中,使用包名来识别软件的

        SQLite数据类型

类型 SQLite Java
整型 INTEGER byte, short, int, long
浮点型 REAL float, double
字符串 TEXT String
布尔串 BLOB boolean

3、SQLite增删改查

        1、查询(接收结果集有三种方法List<Object[ ]>、List<实体类>、List<Map<String,int>>)\

             用实体类的方法:

SQLiteDatabase db = dbHelper.getWritableDatabase();

List<User> list = new ArrayList<>();
Cursor cursor = db.rawQuery("select * from user_table");
while (cursor.moveToNext()) {
	String account = cursor.getString(cursor.getColumnIndex("account"));
    String pwd= cursor.getString(cursor.getColumnIndex("pwd"));
    list.add(res);
}
cursor.close();
return list;

2、更新(增删改)

SQLiteDatabase db = dbHelper.getWritableDatabase();
//删除
db.execSQL(""delete from test where account = ?", new String[]{String.valueOf('123')}");
//增加
db.execSQL("insert into test values(?,?)",new String[]{account,pwd});
//修改
db.execSQL("update test set pwd= ? where account= ?", new String[]{"456",String.valueOf(132)});

猜你喜欢

转载自blog.csdn.net/m0_60623666/article/details/125951267