赞
踩
SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。
轻量、无需配置、本地化
新建一个class,继承SQLiteOpenHelper
实现两个抽象方法 onCreate() onUpgrade() 创建一个带参的构造方法
在构造方法中 创建数据库
在onCreate() 方法中,创建表和插入数据
在手机中,使用包名来识别软件的
SQLite数据类型
类型 | SQLite | Java |
---|---|---|
整型 | INTEGER | byte, short, int, long |
浮点型 | REAL | float, double |
字符串 | TEXT | String |
布尔串 | BLOB | boolean |
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)});
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。