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数据库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)