SQLite实例入门

SQLite实例入门,第1张

概述SQLite简介: Google为Andriod的较大的数据处理提供了SQLite,他在数据存储、管理、维护等各方面都相当出色,功能也非常的强大。SQLite具备下列特点:   1.轻量级   使用 SQLite 只需要带一个动态库,就可以享受它的全部功能,而且那个动态库的尺寸想当小。   2.独立性   SQLite 数据库的核心引擎不需要依赖第三方软件,也不需要所谓的“安装”。   3.隔离性 sqlite简介:

Google为Andriod的较大的数据处理提供了sqlite,他在数据存储、管理、维护等各方面都相当出色,功能也非常的强大。sqlite具备下列特点:

  1.轻量级

  使用 sqlite 只需要带一个动态库,就可以享受它的全部功能,而且那个动态库的尺寸想当小。

  2.独立性

  sqlite 数据库的核心引擎不需要依赖第三方软件,也不需要所谓的“安装”。

  3.隔离性

  sqlite 数据库中所有的信息(比如表、视图、触发器等)都包含在一个文件夹内,方便管理和维护。

  4.跨平台

  sqlite 目前支持大部分 *** 作系统,不至电脑 *** 作系统更在众多的手机系统也是能够运行,比如:AndroID。

  5.多语言接口

  sqlite 数据库支持多语言编程接口。

  6.安全性

  sqlite 数据库通过数据库级上的独占性和共享锁来实现独立事务处理。这意味着多个进程可以在同一时间从同一数据库读取数据,但只能有一个可以写入数据。


sqlite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。

1. ACID事务 2. 零配置 – 无需安装和管理配置 3. 储存在单一磁盘文件中的一个完整的数据库 4. 数据库文件可以在不同字节顺序的机器间自由的共享 5. 支持数据库大小至2TB 6. 足够小,大致3万行C代码,250K 7. 比一些流行的数据库在大部分普通数据库 *** 作要快 8. 简单,轻松的API(转自百度百科)



sqliteOpenHelper介绍:

在androID平台上要 *** 作sqlite数据库就必须要使用sqliteOpenHelper类。

一个帮助类管理数据库创建和管理,你创建一个子类去实现onCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase,int,int) 方法,onOpen(SQLiteDatabase)可选择性实现.

sqliteOpenHelper作为一个访问sqlite的帮助类,提供两方面的功能
1.getReadableDatabase(),getWritableDatabase()可以获得sqliteDatatbase对象,/对这个对象进行相关 *** 作
2.提供了onCreate()和onUpgrade()两个回调函数,允许我们在创建和升级数据库时进行 *** 作

//MysqLiteOpenHelper作为一个访问sqlite的帮助类,提供两方面的功能//1.getReadableDatabase(),//对这个对象进行相关 *** 作//2.提供了onCreate()和onUpgrade()两个回调函数,允许我们在创建和升级数据库时进行 *** 作public class MysqLiteOpenHelper extends sqliteOpenHelper {	public static final String DATABASE_name = "test.db";	public static final String TAG = "MysqLiteOpenHelper";	public MysqLiteOpenHelper(Context context) {		this(context,DATABASE_name,null,1);	}	public MysqLiteOpenHelper(Context context,int version) {		this(context,version);	}	// 必须要有这一个构造方法	public MysqLiteOpenHelper(Context context,String name,CursorFactory factory,int version) {		super(context,name,factory,version);		// Todo auto-generated constructor stub	}	// 当数据库第一次创建的时候被调用,// 当调用getReadableDatabase ()或getWritableDatabase 的时候	@OverrIDe	public voID onCreate(sqliteDatabase db) {		// Todo auto-generated method stub		Log.d(TAG,"onCreate");		String sql = "create table user(ID int,name varchar(20))";		db.execsql(sql);	}	@OverrIDe	public voID onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) {		// Todo auto-generated method stub		Log.d(TAG,"onUpgrade");	}}

主界面上的功能
public class MainActivity extends Activity {	public static final String TAG = "MainActivity";	@OverrIDe	protected voID onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentVIEw(R.layout.activity_main);	}	@OverrIDe	public boolean onCreateOptionsMenu(Menu menu) {		// Inflate the menu; this adds items to the action bar if it is present.		getMenuInflater().inflate(R.menu.main,menu);		return true;	}	public voID createDatabase(VIEw vIEw) {		MysqLiteOpenHelper dbHelper = new MysqLiteOpenHelper(MainActivity.this);		// 这一步才会创建数据库,即回调MysqLiteOpenHelper的onCreate方法		dbHelper.getWritableDatabase();	}	public voID upgradeDatabase(VIEw vIEw) {		MysqLiteOpenHelper dbHelper = new MysqLiteOpenHelper(MainActivity.this,2);		// 这一步才会创建数据库		dbHelper.getWritableDatabase();	}	public voID insert(VIEw vIEw) {		ContentValues cv = new ContentValues();		cv.put("ID",1);		cv.put("name","zhangsan");		MysqLiteOpenHelper dbHelper = new MysqLiteOpenHelper(MainActivity.this,2);		// 得到数据库对象		sqliteDatabase db = dbHelper.getWritableDatabase();		db.insert("user",cv);	}	public voID delete(VIEw vIEw) {		MysqLiteOpenHelper dbHelper = new MysqLiteOpenHelper(MainActivity.this);		// 得到数据库对象		sqliteDatabase db = dbHelper.getWritableDatabase();		db.delete("user","ID=?",new String[] { "1" });	}	public voID update(VIEw vIEw) {		MysqLiteOpenHelper dbHelper = new MysqLiteOpenHelper(MainActivity.this);		// 得到数据库对象		sqliteDatabase db = dbHelper.getWritableDatabase();		ContentValues cv = new ContentValues();		cv.put("name","zhangsanfeng");		// 第一个参数是要更新的表名		// 第二个参数是一个ContentValues对象		// 第三个参数是where子句		db.update("user",cv,new String[] { "1" });	}	public voID query(VIEw vIEw) {		MysqLiteOpenHelper dbHelper = new MysqLiteOpenHelper(MainActivity.this);		// 得到数据库对象		sqliteDatabase db = dbHelper.getWritableDatabase();		Cursor cursor = db.query("user",new String[] { "ID","name" },new String[] { "1" },null);		while (cursor.movetoNext()) {			int ID = cursor.getInt(cursor.getColumnIndex("ID"));			String name = cursor.getString(cursor.getColumnIndex("name"));			Log.d(TAG,"ID:" + ID);			Log.d(TAG,"name:" + name);		}	}}

原代码下载资源链接(免积分)

总结

以上是内存溢出为你收集整理的SQLite实例入门全部内容,希望文章能够帮你解决SQLite实例入门所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1174358.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存