大佬教程收集整理的这篇文章主要介绍了Sqlite 数据库存储,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
以下案例是SQLite 数据库存储
简单介绍一下sqlite数据库的语法:
SQLite 数据库
1)建表语句
create table 表名 (
列定义,
列定义,
...
列定义
)
列定义 : 列名 数据类型 约束
数据类型:Integer , text , real , blob ,null
约束:priMary key,not null
标识列:列名 INTEGER PRIMary key autoincrement
2)删除表
drop table 表名
3)插入数据
insert into 表名(列1名,列2名,...) values(值1,值2,值3,。。。)
4)更新数据
update 表名 set 列名=值,列2名=值 where 条件表达式
5)删除数据
delete from 表名 where 条件表达式
6)查询数据
SELEct 列集|*
from 表名
where 行过滤表达式
group by 分组条件 having 组过滤条件
order by 排序表达式 desc|asc
步骤1
需要创建一个继承sqliteOpenHelper的数据库,下面是创建数据库的代码结构
class * extends sqliteOpenHelper { private static String dbname = "note.db" ; // 构造函数 public DBHelper(Context context) { super(context,dbname,null,1); } @OverrIDe ... onCreate(sqliteDatabase db,...) { db.execsql(建表语句) } @OverrIDe ... onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) { db.execsql(删除表) onCreate(db) ; } }步骤2
通过JAVA语言访问创建的这个数据库
2)执行数据库操作
i。获取sqliteDatabase对象
sqliteDatabase db = new 步骤一对象().getReadableDatabase() / getWritableDatabase() ;
ii。执行数据库
方法一:execsql() rawquery() 需要提供sql语句
方法二:insert(),delete(),update(),query() 不需要提供sql语句
3)类ContentValue:用来保证列和值的一一对应性
ContentValues values = new ContentValues();
values.put(列名,值) ;
...
以下是代码实现步骤1:创建数据库
public class DBHelper extends sqliteOpenHelper{ //声明和数据库相关一些常量 private static String dbname = "note.db"; public static final String table_NOTE = "tb_note"; public static final String COLUMN_ID = "_ID"; public static final String columN_title = "title"; public static final String columN_CONTENT = "content"; public static final String columN_DATE = "date"; public DBHelper(Context context) { super(context,1); } //onCreate此方法为回调方法,每次执行钱会检查手机文件夹中是否含有note.db这个数据库,只检查名字 //如果含有则不再执行这个方法 @OverrIDe public voID onCreate(sqliteDatabase db) { String sql = "create table" + table_NOTE + "(" + COLUMN_ID + "INTEGER PRIMary key autoincrement," + columN_title + "text not null," + columN_CONTENT + "text" + columN_DATE + "text" + ")"; db.execsql(sql); } //如果oldVersion版本与newVersion版本不一致则删除表table_NOTE @OverrIDe public voID onUpgrade(sqliteDatabase db,int newVersion) { db.execsql("drop table" +table_NOTE) ; onCreate(db); } }
public class MainActivity extends Activity { private sqliteDatabase db; @OverrIDe protected voID onCreate(Bundle savedInstanceStatE) { super.onCreate(savedInstanceStatE); setContentVIEw(R.layout.activity_main); db = new DBHelper(this).getWritableDatabase(); db.execsql("insert into " + DBHelper.table_NOTE + " values(null,'title','content','2015-08-26')") ; // 21 ContentValues values = new ContentValues() ; values.put(DBHelper.columN_title,"标题") ; values.put(DBHelper.columN_DATE,"2015-08-27") ; db.insert(DBHelper.table_NOTE,values) ; Toast.makeText(this,"insert over!",Toast.LENGTH_LONG).show(); // 更新语句 // 1 db.execsql("update " + DBHelper.table_NOTE + " set "+DBHelper.columN_CONTENT + "='吃饭'") ; // 2 values.clear() ; values.put(DBHelper.columN_CONTENT,"晚上去超市买零食!"); values.put(DBHelper.columN_DATE,"2015-09-27") ; db.update( DBHelper.table_NOTE,values,DBHelper.COLUMN_ID + "=? or " + DBHelper.COLUMN_ID + "=?",// 描述where条件 new String[]{"1","3"} // where中?的值构成的String数组 ) ; Toast.makeText(this,"update over!",Toast.LENGTH_LONG).show(); } }
以上是大佬教程为你收集整理的Sqlite 数据库存储全部内容,希望文章能够帮你解决Sqlite 数据库存储所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。