SQLiteDatabase
2015-07-24 10:54
267 查看
在这里我来为大家说说关于Android中SQLiteDatabase是怎么玩的:
SQLiteDatabase 简介
1、 SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。
2、 就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。
SQLiteDatabase 特点
1.不需要一个单独的服务器进程或操作的系统(是没有服务器的)。
SQLite 不需要配置,这意味着不需要安装或管理。
2.一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
3.SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
4.SQLite 是自给自足的,这意味着不需要任何外部的依赖。
......
Android 中内置了对SQLite数据库的支持。
Android 对SQLite的支持
Google为Andriod的较大的数据处理提供了SQLite,并且提供了SQLiteOpenHelper助手类帮助创建和管理SQlite数据库。
下表列出了一些常用的方法:
SQLiteDatabase 创建数据库步骤
1.继承SQLiteOpenHelper 类。
2.重写onCreate()、onUpdate()方法。
3.创建SQLiteOpenHelper 实现类对象。
添加一条记录
注意:这里返回的result是一个long型,其值为当前插入行的行号值。
查找一条记录
更改一条记录
删除一条记录
备注:
1. 创建完成后可以进入sqlite数据库查看结果步骤:
打开sqlite ,没有可以下载。
将原有内容移除。
添加数据库。
找到从android中导出到桌面的student.db为文件打开即进入SQLite:
注意:student.db文件在项目中存在位置,该文件在中,打开后如下:
(我未开启模拟器,这里仅供演示)然后点击fileExplorer在文件列表中找到当前项目,在其中找到data文件,再去目录再找data文件,其中有个database文件,该文件中既有student.db,选定文件后,单击即可另存为到硬盘,
若student.db没有,则可能执行有误。
SQLiteDatabase 简介
1、 SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。
2、 就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。
SQLiteDatabase 特点
1.不需要一个单独的服务器进程或操作的系统(是没有服务器的)。
SQLite 不需要配置,这意味着不需要安装或管理。
2.一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
3.SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
4.SQLite 是自给自足的,这意味着不需要任何外部的依赖。
......
Android 中内置了对SQLite数据库的支持。
Android 对SQLite的支持
Google为Andriod的较大的数据处理提供了SQLite,并且提供了SQLiteOpenHelper助手类帮助创建和管理SQlite数据库。
下表列出了一些常用的方法:
SQLiteDatabase 创建数据库步骤
1.继承SQLiteOpenHelper 类。
2.重写onCreate()、onUpdate()方法。
3.创建SQLiteOpenHelper 实现类对象。
public void createDB(View view ){ sqliteDB studentdb= new sqliteDB(this); studentdb.getReadableDatabase(); } public class sqliteDB extendsSQLiteOpenHelper { private static final String STUDENT_DB_BANE = "student.db"; private static final int STUDENT_DB_VERSION = 1; private static final String STUDENT_SQL = "CREATE TABLESTUDENT(" + "_ID INTEGER PRIMARY KEY AUTOINCREMENT," + "CODE VERCHAR(255) NOT NULL," + "NAME VERCHAR(255) NOT NULL" + ")"; @Override public void onCreate(SQLiteDatabase db) { db.execSQL(STUDENT_SQL); } //升级版本时,使用该方法 @Override public voidonUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.e("onUpgrade:","oldVersion:"+oldVersion+"newVersion:"+newVersion); } }
添加一条记录
publicvoid insertData(View view){ /*获取一个可写的db对象*/ SQLiteDatabase db=studentDb.getWritableDatabase(); /*第一种插入数据的格式*/ db.execSQL("insert intostudent(stu_code,stu_name)", new Object[]{100,"李斯"}); /*第二种插入数据的方式*/ ContentValues values=newContentValues(); values.put("stu_code","101"); values.put("stu_name","李四"); longresult=db.insert("student", "", values); Toast.makeText(this,"number:"+result, Toast.LENGTH_SHORT).show(); }
注意:这里返回的result是一个long型,其值为当前插入行的行号值。
查找一条记录
publicvoid queryData(View view){ /*获取一个可读的数据库对象*/ SQLiteDatabasedb=studentDb.getReadableDatabase(); /*第一种插入数据的方式*/ Cursorcursor=db.rawQuery("select * from student where stu_code=?", newString[]{"100"}); /*遍历游标封装数据到集合*/ List<Map<String,String>>data=new ArrayList<Map<String,String>>(); Map<String,String> map; while(cursor.moveToNext()){ map=new HashMap<String,String>(); for(inti=0;i<cursor.getColumnCount();i++){ Stringkey=cursor.getColumnName(i); Stringvalue=cursor.getString(i); map.put(key, value); } data.add(map); } }
更改一条记录
publicvoid updateData(View view){ /*1.获取一个可写的数据库对象*/ SQLiteDatabasedb=studentDb.getWritableDatabase(); /*2.填充要修改的字段的名称*/ ContentValues values=newContentValues(); /*3.修改学号为100的学生的姓名为'李四'*/ values.put("stu_name", "李四"); /*4.执行修改,获得结果*/ /*Android封装的对数据库的操作*/ int result=db.update("student", values, "stu_code=?", newString[]{"100"}); }
删除一条记录
publicvoid deleteData(View view){ /*获取一个可写的数据库对象*/ SQLiteDatabasedb=studentDb.getWritableDatabase(); /*删除学号为100的学生'*/ db.delete("student","stu_code=?", new String[]{"100"}); }
备注:
1. 创建完成后可以进入sqlite数据库查看结果步骤:
打开sqlite ,没有可以下载。
将原有内容移除。
添加数据库。
找到从android中导出到桌面的student.db为文件打开即进入SQLite:
注意:student.db文件在项目中存在位置,该文件在中,打开后如下:
(我未开启模拟器,这里仅供演示)然后点击fileExplorer在文件列表中找到当前项目,在其中找到data文件,再去目录再找data文件,其中有个database文件,该文件中既有student.db,选定文件后,单击即可另存为到硬盘,
若student.db没有,则可能执行有误。
相关文章推荐
- Linux中设置定期备份oracle数据库
- Oracle session nls_date_format
- jsp连接mysql数据库
- mysqlbinlog的日志类型
- 数据库总结
- phpredis---pub/sub订阅超时
- sqlite-开源、跨平台、小巧的关系型数据库-1
- MYSQL---ANY,SOME,ALL
- MySQL效能监控工具mysqlreport安装和中文说明
- mysql快速翻倍插入数据
- oracle 数据库设计的一些原则
- SQL Server 2005 镜像构建
- Memcache 详解
- Oracle 11g R2之物理Dataguard 重命名数据文件
- Windows2003操作系统SQL Server 2008安装图解(详细)
- SQLServer数据库、附加数据库时出错。有关详细信息,请单击“消息”列中的超链接
- mongodb索引
- oracle中的exists 和not exists 用法详解
- MySQL数据类型总结
- 【MySQL学习】MySQL连接