Android SQLite 介绍

   SQLite 和其他数据库最大的不同就是对数据类型的支持,创建一个表时,可以在 CREATE TABLE 语句中指定某列的数据类型,但是你可以把任何数据类型放入任何列中。当某个值插入数据库时,SQLite 将检查它的类型。如果该类型与关联的列不匹配,则 SQLite 会尝试将该值转换成该列的类型。如果不能转换,则该值将作为其本身具有的类型存储。比如可以把一个字符串(String)放入 INTEGER 列。SQLite 称这为“弱类型”(manifest typing.)。

此外,SQLite 不支持一些标准的 SQL 功能,特别是外键约束(FOREIGN KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL OUTER JOIN, 还有一些 ALTER TABLE 功能。

除了上述功能外,SQLite 是一个完整的 SQL 系统,拥有完整的触发器,交易等等。

   Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。

     public class DatabaseHelper extends SQLiteOpenHelper {     
private static final String DATABASE_NAME = "employeedb";
private static final int DATABASE_VERSION = 1;
private static DatabaseHelper instance;


public static synchronized DatabaseHelper getHelper(Context context) {
if (instance == null)
instance = new DatabaseHelper(context);
return instance;
}
private DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
 DatabaseHelper(Context context, String name, CursorFactory cursorFactory, int version) 
 {     
   super(context, name, cursorFactory, version);     
    }     
    
    @Override    
    public void onCreate(SQLiteDatabase db) {     
        // TODO 创建数据库后,对数据库的操作     
    db.execSQL(budgetKey.CREATE_EMPLOYEE_TABLE);
    }     
    
    @Override    
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {     
        // TODO 更改数据库版本的操作     
    }     
    
@Override    
public void onOpen(SQLiteDatabase db) {     
        super.onOpen(db);       
        // TODO 每次成功打开数据库后首先被执行  
    if (!db.isReadOnly()) {
// Enable foreign key constraints
db.execSQL("PRAGMA foreign_keys=ON;");
}
    }     
}

调用 getReadableDatabase() 或 getWriteableDatabase() 方法,你可以得到 SQLiteDatabase 实例。

 db=(new DatabaseHelper(getContext())).getWritableDatabase(); 
 return (db == null) ? false : true; 


 db.execSQL(String sql) 可以实现 sql的操作。 


query() 方法用 SELECT 语句段构建查询。SELECT 语句内容作为 query() 方法的参数,比如:要查询的表名,要获取的字段名,WHERE 条件,包含可选的位置参数,去替代 WHERE 条件中位置参数的值,GROUP BY 条件,HAVING 条件。


SQLite 客户端是 FireFox SQLite Manager 扩展。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值