SQLite数据库

SQLite数据库,第1张

概述 SQLite数据库存放路径:/data/data/packageName/databases SQLite支持数据类型:NULL,INTEGER,REAL(浮点型),TEXT(字符串文本),BLOB(二进制对象)。 SQLite最大特点:可以把各种数据类型放到任何字段,不用关心字段声明类型,也可以存放任意长度内容,但声明为INTEGER PRIMARY KEY 例外,只能存储64位整数。   继 sqlite数据库存放路径:/data/data/packagename/databases

sqlite支持数据类型:NulL,INTEGER,REAL(浮点型),TEXT(字符串文本),BLOB(二进制对象)。

sqlite最大特点:可以把各种数据类型放到任何字段,不用关心字段声明类型,也可以存放任意长度内容,但声明为INTEGER PRIMARY KEY 例外,只能存储64位整数。

继承sqliteOpenHelper类:

构造方法:调用父类构造器super(context,name,factory,version)。//context是上下文对象;name数据库名;factory是cursor游标工厂,通常用默认的,传入null;version数据版本号。

复写onCreate(sqliteDatabasedb);数据库第一次被创建时调用,特别适合生成数据库表结构和初始化。在第一次调用getReadableDatabase()或getWritableDatabase方法时调用。

onUpgrade(sqliteDatabasedb,intoldVersion,intnewVersion)方法:只有在数据库版本发生变化的时候调用,判断新创建的数据库版本号是否大于原先版本,如果是则调用,可以用来增加字段的更新数据库结构 *** 作。

sqliteDatabase类:

该类封装了一些 *** 作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(RetrIEve)、更新(Update)和删除(Delete) *** 作(这些 *** 作简称为CRUD)。

重要方法:execsql()方法可以执行insert、delete、update和CREATE table之类有更改行为的SQL语句; rawquery()方法用于执行select语句。

例子:

sqliteDatabase db = ....;

db.execsql("insert into person(name,age) values(?,?)",new Object[]{"name",10});

//Cursor是结果集游标,用于对结果集进行随机访问,Cursor与JDBC中的ResultSet作用很相似。

Cursor cursor = db.rawquery("select * from person where name like ? and age=?",new String[]{"%name%","4"});
db.close();

Cursor方法:

使用movetoNext()方法可以将游标从当前行移动到下一行,如果已经移过了结果集的最后一行,返回结果为false,否则为true。另外Cursor 还有常用的movetoPrevIoUs()方法(用于将游标从当前行移动到上一行,如果已经移过了结果集的第一行,返回值为false,否则为true )、movetoFirst()方法(用于将游标移动到结果集的第一行,如果结果集为空,返回值为false,否则为true )和movetoLast()方法(用于将游标移动到结果集的最后一行,如果结果集为空,返回值为false,否则为true )。

QliteDatabase还专门提供了对应于添加、删除、更新、查询的 *** 作方法:

insert(table,null,values)、null指定空值字段的名称,当第三个参数为空时使用

delete(table,selection,selectionArgs)、

update(table,values,selectionArgs)、

query(table,columns,selectionArgs,groupBy,having,orderBy,limit)方法各参数的含义:
table:表名。相当于select语句from关键字后面的部分。如果是多表联合查询,可以用逗号将两个表名分开。
columns:要查询出来的列名。相当于select语句select关键字后面的部分。
selection:查询条件子句,相当于select语句where关键字后面的部分,在条件子句允许使用占位符“?”
selectionArgs:对应于selection语句中占位符的值,值在数组中的位置与占位符在语句中的位置必须一致,否则就会有异常。
groupBy:相当于select语句group by关键字后面的部分
having:相当于select语句having关键字后面的部分
orderBy:相当于select语句order by关键字后面的部分,如:personID desc,age asc;
limit:指定偏移量和获取的记录数,相当于select语句limit关键字后面的部分。

value为ContentValues类型数据:ContentValues类似于map,相对于map,它提供了存取数据对应的put(String key,Xxx value)和getAsXxx(String key)方法, key为字段名称,value为字段值,Xxx指的是各种常用的数据类型。

总结

以上是内存溢出为你收集整理的SQLite数据库全部内容,希望文章能够帮你解决SQLite数据库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1182513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存