大佬教程收集整理的这篇文章主要介绍了sqlite,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
sqliteOpenHelper是一个抽象类,来管理数据库的创建和版本的管理。要使用它必须实现它的nCreate(sqliteDatabasE),onUpgrade(sqliteDatabase,int,int)方法
onCreate:当数据库第一次被建立的时候被执行,例如创建表,初始化数据等。
onUpgrade:当数据库需要被更新的时候执行,例如删除久表,创建新表。
package xqh.utils; import androID.content.Context; import androID.database.sqlite.sqliteDatabase; import androID.database.sqlite.sqliteOpenHelper; import androID.database.sqlite.sqliteDatabase.cursorFactory; public class DBHelper extends sqliteOpenHelper { //数据库版本 private static final int version = 1; //新建一个表 String sql = "create table if not exists Testusers"+ "(ID int priMary key,name varchar,sex varchar)"; public DBHelper(Context context,String name,cursorFactory factory,int version) { super(context,name,factory,version); } public DBHelper(Context context,int version){ this(context,null,version); } public DBHelper(Context context,String Name){ this(context,version); } @OverrIDe public voID onCreate(sqliteDatabase db) { db.execsql(sql); } @OverrIDe public voID onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) { } }
3.sqlite的使用
AndroID提供了一个名为sqliteDatabase的类,它封装了一些操作数据库的API。使用它能实现基本的CRUD操作,通过getWritableDatabase()和getReadableDatabase()可以获取数据库实例
package xqh.sqlite; import xqh.utils.DBHelper; import androID.app.Activity; import androID.database.sqlException; import androID.database.sqlite.sqliteDatabase; import androID.os.bundle; import androID.Widget.button; import androID.util.Log; import androID.vIEw.VIEw; import androID.vIEw.VIEw.onClickListener;; public class Testsqlite extends Activity { button textBtn = null; button btncreatedb = null; button btnCreateTb = null; button btnInsert = null; button btnupdate = null; button btndelete = null; DBHelper dbHelper = null; sqliteDatabase db = null; @OverrIDe protected voID onCreate(Bundle savedInstanceStatE) { // Todo auto-generated method stub super.onCreate(savedInstanceStatE); setContentVIEw(R.layout.sqlitetest); OpenDb(); textBtn = (button)findVIEwByID(R.ID.btnheader); textBtn.setFocusable(true); // btncreatedb = (button)findVIEwByID(R.ID.btncreatedb); // btncreatedb.setonClickListener(createdbListener); // // btnCreateTb = (button)findVIEwByID(R.ID.btnCreateTb); // btnCreateTb.setonClickListener(createTbListener); btnInsert = (button)findVIEwByID(R.ID.btnInsert); btnInsert.setonClickListener(insertTbListener); btnupdate = (button)findVIEwByID(R.ID.btnupdatE); btnupdate.setonClickListener(updateTbListener); btndelete = (button)findVIEwByID(R.ID.btnDelete); btndelete.setonClickListener(deleteTbListener); } public OnClickListener deleteTbListener = new OnClickListener() { public voID onClick(VIEw v) { deleteTb(); } }; public OnClickListener updateTbListener = new OnClickListener() { public voID onClick(VIEw v) { updateTb(); } }; public OnClickListener insertTbListener = new OnClickListener() { public voID onClick(VIEw v) { InsertTb(); } }; // public OnClickListener createdbListener = new OnClickListener() { // public voID onClick(VIEw v) { // CreateDatabase("TestDb01"); // } // }; // public OnClickListener createTbListener = new OnClickListener() { // public voID onClick(VIEw v) { // Createtable(); // } // }; // /** // * 新建一个数据库 // * @param dbname // * @return // */ // public sqliteDatabase CreateDatabase(String dbName){ // dbHelper = new DBHelper(this,dbName); // return dbHelper.getWritableDatabase(); // } /** * 新建一个表 * @param db */ public voID Createtable(){ db = dbHelper.getWritableDatabase(); String sql = "create table if not exists Testusers"+ "(ID int priMary key,sex varchar)"; try { db.execsql(sql); } catch (sqlException E) { Log.i("err","create table Failed"); } } /** * 插入数据 */ public voID InsertTb(){ db = dbHelper.getWritableDatabase(); String sql = "insert into Testusers (ID,seX) values (2,'hongguang','men')"; try { db.execsql(sql); } catch (sqlException E) { Log.i("err","insert Failed"); } } /** * 更新数据 */ public voID updateTb() { db = dbHelper.getWritableDatabase(); String sql = "update Testusers set name = 'anhong',sex = 'men' where ID = 2"; try { db.execsql(sql); } catch (sqlException E) { Log.i("err","update Failed"); } } /** * 删除数据 */ public voID deleteTb(){ db = dbHelper.getWritableDatabase(); String sql = "delete from Testusers where ID = 2"; try { db.execsql(sql); } catch (sqlException E) { Log.i("err","delete Failed"); } } /** * 打开数据库 */ public voID OpenDb(){ dbHelper = new DBHelper(this,"TestDb01"); db = dbHelper.getWritableDatabase(); } /** * 关闭数据库 */ public voID CloseDb(){ dbHelper.close(); } @OverrIDe protected voID onDestroy() { super.onDestroy(); if(db!=null){ db.close(); } if(dbHelper!=null){ dbHelper.close(); } } }
常用命令常用命令常用命令::::
1)创建数据库文件:>sqlite3d:\test.db回车就生成了一个test.db在d盘。这样同时也sqlite3挂上了这个test.db
3)可以在这里直接输入sql语句创建表格用;结束,然后回车就可以看到了
4)看看有创建了多少表>.tables
5)看表结构>.scheR_558_11845@a表名
6)看看目前挂的数据库>.database
7)如果要把查询输出到文件>.output文件名>查询语句;查询结果就输出到了文件c:\query.txt把查询结果用屏幕输出>.outputstdout
8)把表结构输出,同时索引也会输出.dump表名
9)退出>.exit或者.quit普通sql操作,通用标准sql语句。
以上是大佬教程为你收集整理的sqlite全部内容,希望文章能够帮你解决sqlite所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。