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

posted @ 2013-01-26 20:14  Fredric_2013  阅读(198)  评论(0编辑  收藏  举报