sqlite(1、基础)
sqlite 是一款轻量级的嵌入式数据库,sqlite对资源的消耗非常低,在嵌入式设备中可能只要几百k的内存。相对于mysql、postgre而言速度也更加快。
需要注意的是sqlite不属于客户端-服务器模式的数据库,它的引擎会连接到程序中成为其中的一部分,所以不存在如mysql等DB一样,需要由一个通信协议和数据库实例交互。
对sqlite而言都是API执行。并且整个数据库,包括定义、表、索引、数据都存储在单一的文件中。
在这种设计下,支持事务的sqlite在执行事务时会锁定整个数据文件。下面是一个基本的程序实例:
db = openOrCreateDatabase(DB_NAME, this.MODE_PRIVATE, null); db.execSQL("DROP TABLE IF EXISTS users"); db.execSQL("CREATE TABLE IF NOT EXISTS users (_id INTEGER PRIMARY KEY AUTOINCREMENT, username VARCHAR, password VARCHAR)"); db.execSQL("INSERT INTO users VALUES (NULL,‘fredric‘,‘fredricpassword‘)"); ContentValues cv = new ContentValues(); cv.put("username", "sinny"); cv.put("password", "sinnypassword"); db.insert("users", null, cv); Cursor cursor = db.rawQuery("SELECT * FROM users", null); while (cursor.moveToNext()) { Log.i(TAG_ACTIVITY, cursor.getString(cursor.getColumnIndex("username"))); Log.i(TAG_ACTIVITY, cursor.getString(cursor.getColumnIndex("password"))); } cursor.close();
打印输出:fredric、fredricpassword、sinny、sinnypassword
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。