SQLite数据库有哪些表,如何在一个sqlite数据库中创建多个表
来源:整理 编辑:黑码技术 2024-04-28 15:59:16
1,如何在一个sqlite数据库中创建多个表
这个是onCreate这句话的毛病 它只负责创建数据库。建议是在 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)db.execSQL("create table sunCount(id integer primary key autoincrement,conut integer)");} 这里面创建 更新数数据库 再创建一张表 就可以了 创建表的方法 和开始一样直接在命令行下输入 sqlit3 +数据库名 就可以直接建库了
2,sqlite查看数据库有几张表
在android中查看和管理sqlite数据库在android中可以使用eclipse插件ddms来查看,也可以使用android工具包中的adb工具来查看。android项目中的sqlite数据库位于/data/data/项目包/databases中。使用ddms导出sqlite数据库。1、首先打开android项目的调试模式,然后找到显示ddms:选择ddms2、切换到ddms,显示file explorer窗口,找到/data/data/然后找到程序包的文件夹,打开databases,就能看到sqlite数据库文件了。选择将其导出。这样就把sqlite数据库文件以文件的方式导出来了,然后使用sqlite界面管理工具如sqlite administrator、sqlite man或者firefox插件sqlite manager等打开就可以了。使用adb工具访问sqlite数据库android debug bridge(adb)是android的一个通用调试工具,它可以更新设备或模拟器中的代码,可以管理预定端口,可以在设备上运行shell命令,我们知道android是基于linux内核,它的内部文件结构也是采用linux文件组织方式,因此访问它的文件结构需要使用shell。这次我们就会用shell来访问android应用中的sqlite数据库文件。1、运行cmd,切换到android-sdk目录,运行adb.exe,加上参数shell,出现#号就代表进入了shell命令模式,注意adb要在android模拟器运行时才能进入shell:2、shell命令记住两个基本命令ls和cd,类似windows命令提示行中的dir和cd,代表列出当前目录下文件列表和进入到指定目录。了解这两个命令之后,就可以找到data/data/项目包名/databases:找到数据库文件:接下来就是使用sqlite管理工具来进行操作了。键入sqlite3 数据库名就进入了sqlite管理模式了。在android的sdk中自带了sqlite3.exe,这是sqlite的官方管理工具,它是一个命令行工具。为了使用方便,将其路径注册到系统环境变量path中,即将;%android_home%加在path中,这样只样运行sqlite3,就能直接打开sqlite管理工具了。sqlite管理数据库篇sqlite命令行工具默认是以;结束语句的。所以如果只是一行语句,要在末尾加;,或者在下一行中键入;,这样sqlite命令才会被执行。sqlite常用命令:.tables--查看数据库的表列表.exit--退出sqlite命令行其他命令可随时.help查看帮助。sql命令可直接在此命令行上执行即可
3,eclipse中怎样查看sqlite数据库的表
在Android中可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具.首先安装sqlite数据库,如果安装了Android开发工具,就不必下载了在命令行输入adb数据库名字输入.table查看数据库里面有多少个表输入.schema 表名查看表结构 ... 在Linux开发环境下, 如何直接查看android数据库sqlite3中的表及数据.eclipse不可以,myeclipse可以,lomboz-eclipse也可以在eclipse中需要自定义创建表工具类:比如;1、写一个dbhelper继承自sqliteopenhelperpublic class dbhelper extends sqliteopenhelper //数据库的版本 private final static int db_version = 1; //数据库名 private final static string db_name = "ladeng.db"; private context mcontext; //我们直接用super调用父类的构造方法,这样我们在实例化dbhelper的时候只需要传入一个上下文参数就可以了 public dbhelper(context context) super(context, db_name, null, db_version); this.mcontext = context; } //数据库不存在的时候,调用这个方法 @override public void oncreate(sqlitedatabase db) createtables(db,0,0); } //版本号发生变化的时候,调用这个方法 @override public void onupgrade(sqlitedatabase db, int oldversion, int newversion) //1.删除原来的表 //2.调用oncreate重新创建数据库 } /** * 建表语句,只需要一行就能建一个表 */ private void createtables(sqlitedatabase db, int oldversion, int newversion) //createtable(movie.class)返回的是sql建表语句 //db.execsql(sql) 执行这条建表语句 db.execsql(createtable(movie.class)); } /** * 如果没传表明的话,默认使用类名作为表明 * @param clazz 实体类 * @return */ private string createtable(class clazz){ return createtable(clazz, clazz.getsimplename()); } /** * 真正的建表方法 * @param clazz 实体类 * @param tablename 表明 * @return sql建表语句 */ private string createtable(class clazz , string tablename){ //实例化一个容器,用来拼接sql语句 stringbuffer sbuffer = new stringbuffer(); //sql语句,第一个字段为_id 主键自增,这是通用的,所以直接写死 sbuffer.append("create table if not exists "+ tablename + " "+ "(_id integer primary key autoincrement not null,"); //得到实体类中所有的公有属性 field[] fields = clazz.getfields(); //遍历所有的公有属性 for(field field : fields){ //如果属性不为_id的话,说明是新的字段 if (!field.getname().equals("_id")) { //得到属性的基本数据类型 string type = field.gettype().getsimplename(); //如果是string类型的属性,就把字段类型设置为text if (type.equals("string")) { sbuffer.append(field.getname()+" text,"); //如果是int类型的属性,就把字段类型设置为integer }else if (type.equals("int")) { sbuffer.append(field.getname()+" integer,"); } } } //将最后的逗号删除 sbuffer.deletecharat(sbuffer.length()-1); //替换成); 表明sql语句结束 sbuffer.append(");"); //返回这条sql语句 return sbuffer.tostring(); } } 2、movie实体类,实体类中的属性就是表中的字段 public class movie { public string title; public int rating; public string year; public string genre; public string country; public int price; } 3、在mainactivity.java中添加如下代码 public class mainactivity extends activity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); //实例化我们的dbhelper dbhelper dbhelper = new dbhelper(this); //调用了这个方法后,dbhelper中的oncreate才会执行 dbhelper.getreadabledatabase(); } } 4、创建结果:
文章TAG:
sqlite 数据 数据库 哪些 SQLite数据库有哪些表