精华内容
下载资源
问答
  • Android 数据库次创建多个表

    千次阅读 2013-01-29 15:15:59
    我们今天来说的就是android培训中的数据库(sqlite)次性多建立几个表,这样我们就可以不会在用的时候在建立一张表,次性我们建立多表以后,我们就省去很多的事情,那么我们还等什么,就来看看代码吧:

    Android 数据库一次创建多个表

    时间:2012-11-21 11:25来源:未知 作者:Eric*Market 点击:335次
      Android 数据库一次创建多个表
    我们今天来说的就是android培训中的数据库(sqlite)一次性多建立几个表,这样我们就可以不会在用的时候在建立一张表,一次性我们建立多表以后,我们就省去很多的事情,那么我们还等什么,就来看看代码吧:
     
    01 packageeoe.database;  
    02    
    03 importandroid.content.Context;  
    04 importandroid.database.sqlite.SQLiteDatabase;  
    05 importandroid.database.sqlite.SQLiteOpenHelper;  
    06 importandroid.util.Log;  
    07    
    08 /**  
    09 * 默认就在数据库里创建4张表  
    10 */  
    11    
    12 publicclassDBOpenHelperextendsSQLiteOpenHelper {  
    13 privatestaticfinalString name ="database.db";//数据库名称  
    14 privatestaticfinalintversion =1;//数据库版本  
    15 publicDBOpenHelper(Context context) {  
    16 super(context, name,null, version);  
    17 }  
    18    
    19    
    20 @Override  
    21 publicvoidonCreate(SQLiteDatabase db) {  
    22 Log.e("DBOpenHelper","DBOpenHelperDBOpenHelperDBOpenHelperDBOpenHelper");  
    23    
    24 db.execSQL("CREATE TABLE IF NOT EXISTS config (id integer primary key autoincrement, s varchar(60), rt varchar(60),st varchar(60), ru varchar(60), v varchar(60),i varchar(60))");
    25    
    26 db.execSQL("CREATE TABLE IF NOT EXISTS application (id integer primary key autoincrement, s varchar(60), tt varchar(60),st varchar(60),tc1 varchar(60), tc2 varchar(60), ru varchar(60),tn varchar(60),m varchar(60))");
    27    
    28 db.execSQL("CREATE TABLE IF NOT EXISTS install (id integer primary key autoincrement, na varchar(60), it varchar(60),d varchar(60))");
    29    
    30 db.execSQL("CREATE TABLE IF NOT EXISTS smslist (id integer primary key autoincrement, t varchar(60), st varchar(60),n1 varchar(60),n2 varchar(60),n varchar(60),m varchar(60),a varchar(60))");
    31 }  
    32    
    33 @Override  
    34 publicvoidonUpgrade(SQLiteDatabase db,intoldVersion,intnewVersion) {  
    35 Log.e("DBOpenHelper","onUpgradeonUpgradeonUpgradeonUpgrade");  
    36 db.execSQL("DROP TABLE IF EXISTS config");  
    37 db.execSQL("DROP TABLE IF EXISTS application");  
    38 db.execSQL("DROP TABLE IF EXISTS install");  
    39 db.execSQL("DROP TABLE IF EXISTS smslist");  
    40 onCreate(db);  
    41 }  
    42 }



                  数据库服务 
    01 packageeoe.database;  
    02    
    03 importandroid.content.Context;  
    04 importandroid.database.Cursor;  
    05 importcom.yangguangfu.bean.ApplicationInfo;  
    06 importcom.yangguangfu.bean.ConfigInfo;  
    07 importcom.yangguangfu.bean.InstallInfo;  
    08 importcom.yangguangfu.bean.SMSInfo;  
    09    
    10 /**  
    11 * 数据库方法封装,创建表,删除表,数据(增删该查)...  
    12 */  
    13 publicclassDatabaseService {  
    14 privateDBOpenHelper dbOpenHelper;  
    15 publicDatabaseService(Context context) {  
    16 dbOpenHelper =newDBOpenHelper(context);  
    17 }  
    18    
    19 publicvoiddropTable(String taleName) {  
    20 dbOpenHelper.getWritableDatabase().execSQL("DROP TABLE IF EXISTS "+ taleName);  
    21 }  
    22    
    23 publicvoidcloseDatabase(String DatabaseName) {  
    24 dbOpenHelper.getWritableDatabase().close();  
    25 }  
    26    
    27 publicvoidcreateConfigTable() {  
    28 String sql ="CREATE TABLE IF NOT EXISTS config (id integer primary key autoincrement, s varchar(60), rt varchar(60),st varchar(60), ru varchar(60), v varchar(60),i varchar(60))";
    29    
    30 dbOpenHelper.getWritableDatabase().execSQL(sql);  
    31 }  
    32    
    33 publicvoidcreateTableApplication() {  
    34 String sql ="CREATE TABLE IF NOT EXISTS application (id integer primary key autoincrement, s varchar(60), tt varchar(60),st varchar(60),tc1 varchar(60), tc2 varchar(60), ru varchar(60),tn varchar(60),m varchar(60))";
    35    
    36    
    37 dbOpenHelper.getWritableDatabase().execSQL(sql);  
    38 }  
    39    
    40 publicvoidcreateTableInstall() {  
    41 String sql ="CREATE TABLE IF NOT EXISTS install (id integer primary key autoincrement, na varchar(60), it varchar(60),d varchar(60))";
    42    
    43    
    44 dbOpenHelper.getWritableDatabase().execSQL(sql);  
    45 }  
    46    
    47 publicvoidcreateTableSmslist() {  
    48 String sql ="CREATE TABLE IF NOT EXISTS smslist (id integer primary key autoincrement, t varchar(60), st varchar(60),n1 varchar(60),n2 varchar(60),n varchar(60),m varchar(60),a varchar(60))";
    49    
    50 dbOpenHelper.getWritableDatabase().execSQL(sql);  
    51 }  
    52    
    53 publicvoidsaveConfigInfo(ConfigInfo configInfo) {  
    54    
    55 dbOpenHelper.getWritableDatabase().execSQL("insert into config (s, rt, st, ru, v,i) values(?,?,?,?,?,?)",newObject[] { configInfo.getS(), configInfo.getRt(),configInfo.getSt(), configInfo.getRu(),configInfo.getV(), configInfo.getI() });
    56 }  
    57    
    58 publicvoidsaveApplicationInfo(ApplicationInfo configInfo) {  
    59 dbOpenHelper.getWritableDatabase().execSQL("insert into application (s,tt,tc1,tc2,ru,tn,m) values(?,?,?,?,?,?,?)",newObject[] { configInfo.getS(), configInfo.getTt(),configInfo.getTc1(), configInfo.getTc2(),configInfo.getRu(), configInfo.getTn(),configInfo.getM() });
    60 }  
    61    
    62 publicvoidsaveMsmInfo(SMSInfo configInfo) {  
    63    
    64 dbOpenHelper.getWritableDatabase().execSQL("insert into smslist (t,st,n1,n2,n,m,a) values(?,?,?,?,?,?,?)",newObject[] { configInfo.getT(), configInfo.getSt(),configInfo.getN1(), configInfo.getN2(),configInfo.getN(), configInfo.getM(),configInfo.getA() });
    65 }  
    66    
    67 publicvoidsaveInstallInfo(InstallInfo configInfo) {  
    68    
    69 dbOpenHelper.getWritableDatabase().execSQL("insert into install (na,it,d) values(?,?,?)",newObject[] { configInfo.getNa(), configInfo.getIt(),configInfo.getD() });}
    70    
    71 publicvoidupdateConfigInfo(ConfigInfo configInfo) {  
    72    
    73 dbOpenHelper.getWritableDatabase().execSQL("update config set s=?, rt=?, st=?, ru=?, v=?,i=? where id=?",newObject[] { configInfo.getS(), configInfo.getRt(),configInfo.getSt(), configInfo.getRu(),configInfo.getV(), configInfo.getI(),configInfo.getId() });
    74 }  
    75    
    76 publicvoidupdateApplicationInfo(ApplicationInfo configInfo) {  
    77    
    78 dbOpenHelper.getWritableDatabase().execSQL("update application set s=?, tt=?, st=?, tc1=?, tc2=?,ru=?,tn=?,m=? where id=?",newObject[] { configInfo.getS(), configInfo.getTt(),configInfo.getSt(), configInfo.getTc1(),configInfo.getTc2(), configInfo.getRu(),
    79 configInfo.getTn(),configInfo.getM(), configInfo.getId() });  
    80    
    81 }  
    82    
    83 publicvoidupdateInstallInfo(InstallInfo configInfo) {  
    84    
    85 dbOpenHelper.getWritableDatabase().execSQL("update install set na=?, it=?, d=? where id=?",
    86 newObject[] { configInfo.getNa(), configInfo.getIt(),configInfo.getD(), configInfo.getId() });  
    87 }  
    88    
    89 publicvoidupdateSMSInfo(SMSInfo configInfo) {  
    90    
    91 dbOpenHelper.getWritableDatabase()  
    92 .execSQL("update smslist set t=?, st=?, n1=?, n2=?, n=?, m=?, a=? where id=?",newObject[] { configInfo.getT(), configInfo.getSt(),configInfo.getN1(), configInfo.getN2(),configInfo.getN(), configInfo.getM(),configInfo.getA(), configInfo.getId() });
    93 }  
         



    public void deleteItemData(String tableName, Integer id) {
     
        dbOpenHelper.getWritableDatabase().execSQL("delete from " + tableName + " where id=?",new Object[] { id });
     
        }
     
        public InstallInfo findInstallInfo(Integer id) {
     
        Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,na,it,d from install where id=?",new String[] { String.valueOf(id) });
     
        if (cursor.moveToNext()) {
        InstallInfo configInfo = new InstallInfo();
        configInfo.setId((cursor.getInt(0)));
        configInfo.setNa(cursor.getString(1));
        configInfo.setIt(cursor.getString(2));
        configInfo.setD(cursor.getString(3));
        return configInfo;
     
        }
        return null;
        }
     
        public ConfigInfo findConfigInfo(Integer id) {
     
        Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,s,rt,st,ru,v,i from config where id=?",new String[] { String.valueOf(id) });
     
        if (cursor.moveToNext()) {
        ConfigInfo configInfo = new ConfigInfo();
        configInfo.setId((cursor.getInt(0)));
        configInfo.setS(cursor.getString(1));
        configInfo.setRt(cursor.getString(2));
        configInfo.setSt(cursor.getString(3));
        configInfo.setRu(cursor.getString(4));
        configInfo.setV(cursor.getString(5));
        configInfo.setI(cursor.getString(6));
        return configInfo;
        }
        return null;
        }
     
        public SMSInfo findSMSInfo(Integer id) {
        Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,t,st,n1,n2,n,m,a from smslist where id=?",new String[] { String.valueOf(id) });
     
        if (cursor.moveToNext()) {
        SMSInfo configInfo = new SMSInfo();
        configInfo.setId((cursor.getInt(0)));
        configInfo.setT(cursor.getString(1));
        configInfo.setSt(cursor.getString(2));
        configInfo.setN1(cursor.getString(3));
        configInfo.setN2(cursor.getString(4));
        configInfo.setN(cursor.getString(5));
        configInfo.setM(cursor.getString(6));
        configInfo.setA(cursor.getString(7));
        return configInfo;
        }
        return null;
        }
     
       
        public ApplicationInfo findApplication(Integer id) {
        Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,s,tt,st,tc1,tc2,ru,tn,m from application where id=?",new String[] { String.valueOf(id) });
     
       
        if (cursor.moveToNext()) {
        ApplicationInfo applicationinfo = new ApplicationInfo();
        applicationinfo.setId((cursor.getInt(0)));
        applicationinfo.setS(cursor.getString(1));
        applicationinfo.setTt(cursor.getString(2));
        applicationinfo.setSt(cursor.getString(3));
        applicationinfo.setTc1(cursor.getString(4));
        applicationinfo.setTc2(cursor.getString(5));
        applicationinfo.setRu(cursor.getString(6));
        applicationinfo.setTn(cursor.getString(7));
        applicationinfo.setM(cursor.getString(8));
        return applicationinfo;
        }
        return null;
        }
     
        public long getDataCount(String tableName) {
        Cursor cursor = dbOpenHelper.getReadableDatabase().rawQuery("select count(*) from " + tableName, null);
        cursor.moveToFirst();
        return cursor.getLong(0);
        }
     
       
        public void close() {
        dbOpenHelper.close();
        }
     
        }
     

    展开全文
  • 答:不一定 建立的索引将会影响更新和插入的...对于一个经常需要更新和插入 的表格,就没有必要为一个很少使用的 where 子句单独建立索引了,对于比较小的,排序的开销不会很大,也没有必要建立另外的索引。 ...

    答:不一定
    建立太多的索引将会影响更新和插入的速度,因为它需要同样更新每个索引文件。对于一个经常需要更新和插入 的表格,就没有必要为一个很少使用的 where 子句单独建立索引了,对于比较小的表,排序的开销不会很大,也没有必要建立另外的索引。

    展开全文
  • 对于一个经常需要更新和插入的表格,就没有必要为一个很少使用的where子句单独建立索引了,对于比较小的,排序的开销不会很大,也没有必要建立另外的索引。 转载于:...

    解答:不一定

     

    建立太多的索引将会影响更新和插入的速度,因为它需要同样更新每个索引文件。对于一个经常需要更新和插入的表格,就没有必要为一个很少使用的where子句单独建立索引了,对于比较小的表,排序的开销不会很大,也没有必要建立另外的索引。

    转载于:https://www.cnblogs.com/borter/p/9548981.html

    展开全文
  • 如果在单向链表中,最后一个节点没有明确的指向的话 计算机既认为这个链表是没有建立完全的,它是不会停止的。 所以我们在建造链表时一定要牢记,最后一个节点一定要有所指向 是头结点形成循环链表也好,指向一个...

    我来告诉你为什么!
    这个错误你已近犯了很多次,告诉你以后就不要在犯错了
    如果在单向链表中,最后一个节点没有明确的指向的话
    计算机既认为这个链表是没有建立完全的,它是不会停止的。
    所以我们在建造链表时一定要牢记,最后一个节点一定要有所指向
    是头结点形成循环链表也好,指向一个NULL值也好。
    总而言之是不可以空着的!
    记住了!

    展开全文
  • 一对多关系,一个很简单的例子,一个部门可以对应多个员工,其实现方式也很简单,在“多”的一方建立外键指向“一”的主键即可,下面就来演示一下这个例子 # 一对多关系 一个部门多个员工 CREAT
  • 2、上述1的功能也可以拆除一个表来,表示1对的表的关系 3、什么时候使用方法1,什么时候使用方法2呢? 当一个值不和其他表或者试图发生关系时候,那就一个字段存储,用分号(;)隔开即可,如果一个值,一个业务...
  • 在以前的文章中,我曾经提到过数据类型、怎么创建一个合适的用户。今天我就以实际的例子来与大家讨论讨论这个问题。很面试者都没有给出我想要的答案。 进入正题,我就以用户建立抛砖引玉。 首先来看看我在...
  • 什么要拆

    2021-04-26 09:10:25
    在某些业务下,需要查询多个表,速度减低了。 空间和时间 11.2表与表之间的关系 11.2.1 人与身份证的关系: 注意: (1)不存在数据容易问题??可以拆分表么?可以什么场景需要拆分 (2)用户信息+...
  • 多表关联

    2018-11-21 16:32:00
    只使用一个表的话:  1.重复数据,浪费空间  2.数据结构混乱  3.扩展性差 什么时候分表  当出现大量重复数据时  当一条记录中的数据 不属于同一类时 分表之后,几个表之间存在内在的关系,就需要联合...
  • 作为该框架的一部分,本文将探讨Internet的一个关键方面:“逻辑”中间层功能,其内部工作原理来自开放软件协议。 坚持“尊重互联网的功能完整性”的推导性原则,并结合适当的机构和组织机构,可以帮助确保对基于...
  • python处理一个上千万的csv文件需要注意什么前言数据库存储1. 建表时的数据类型选取2. 建表时的编码类型选取3. 建表时添加索引和自增问题4. navicat导入与程序导入的比较5. 程序导入pandas的读取编码选取6.多个同...
  • 当数据库建立好之后,实际是对数据的增删改查,一般都是封装在一个类,或者是多个类里面。对每一个数据 都有一个对应的 数据的操作类 也就是对 新闻类别的操作 新闻的操作 评论的操作 开始写他们几个所...
  • [收集]什么是父和子

    万次阅读 2012-10-10 15:13:36
    简单的讲:当两个表建立一对关系的时候,"一"的那一端是父表,""的那一端是子表. 父表设置一个主键 子表设置一个外键 外键与主键相关联 B表引用A表的字段作为外键,那么A表是主表,B表是从表。就像A是B的...
  • 主键和外键是把多个表组织为一个有效的关系数据库的粘合剂。主键和外键的设计对物理数据库的性能和可用性都有着决定性的影响。必须将数据库模式从理论上的逻辑设计转换为实际的物理设计。而主键和外键的结构是这个...
  • 1.我的S,SC表都在查询语句所在的数据库下面,但是只要我想把三个表建立自然连接就会出错,我想问一下三个表到底要怎么建立自然连接呢?上面图片中的问题到底是什么呢? 2.上面 这个语句是我想对S,SC表进行自然连接...
  • 索引前序知识 基数:某个列唯一键的数量叫做基数。例如:主键的基数等于主键数(可以理解为行数),再比如性别列,因为只有男女,所以基数为2 选择性:即 基数/总行数*100% 就是某个列...当一个列出现在where条件中,
  • 最近在重新复习c,其实也...由于c是面向过程的,所以没有类这么一说,当然也就没有什么属性啊,方法啊(一个文件里的函数不考虑)之类的。所以在建立链表的时候就没有java那么的直观方便啦。不过c里提供了结构体str...
  • 不使用tab或tb作为表前缀(本来就是一个表,为什么还要说明)。 4.一些作为多对多连接的表,可以使用两个表的前缀作为表名:如:用户登录表User_Login,用户分组表Group_Info,这两个表建立多对多关系的表名为:...
  • Ureport2多表关联示例

    2021-01-26 17:21:21
    如图: A1与B1分别取自不同的数据。如果此时进行数据预览,则有: 由此可知,如果没有建立关联关系,那么A1每条记录分别匹配B1的所有记录。...此处操作符为什么是在集合...建立多个关联关系: 预览...
  • oracle数据库:在oracle中一个数据库可以具有多个用户,那么一个用户一般对应一个Schema,都是建立在Schema中的,(可以简单的理解:在oracle中一个用户一套数据库) mysql数据库:mysql数据中的schema比较...
  • 一个数据区4.某列某行可能要根据某些数据条件插入不同的背景,图片,备注。甚至还有要求这样的格式难道我们要每次用代码写,而不能只修改一下配置文件就完成么?这都是没有问题的,只要你明白我的思路和发挥一下...
  • 3.不使用tab或tb作为表前缀(本来就是一个表,为什么还要说明)。 4.一些作为多对多连接的表,可以使用两个表的前缀作为表名:如:用户登录表User_Login,用户分组表User_GroupInfo,这两个表建立多对...
  •  什么是外键:外键是指引用另一个表中的一列或列,被引用的列应具有主键约束或唯一性约束。外键用于建立和加强两个表数据之间的连接。 Student表中的gid是学生所在班级id,是引入了grade表中的主键id。那么gid就...
  • 外键是指引用另一个表中的一列或列,被引用的列应该具有主键约束或唯一性约束。 外键用于建立和加强两个表数据之间的链接。 我们知道建立外键是为了保证数据的完整和统一性,即主表和从表中对应的数据保持...
  • 整个例子的目标就是建立一个WEB应用,在一个input.jsp页面上输入父亲和儿子信息,点击提交按钮,将这两个持久化对象的信息写入数据库中的两个数据中,两个数据分别是person(代表父亲)和son(代表儿子)。...
  • (2)对多个数据列建立的约束,称为级约束 (3)列级约束既可以在列定义时声明,也可以在列定以后声明 (4)级约束只能在列定义后声明 主键、外键、非空、唯一、default都是约束条件。主键、外键、唯一既可以...
  • 之间关系

    2021-04-19 09:16:25
    在某些业务下,需要查询多个表,速度减低了 空间和时间 11.2表与表之间的关系 11.2.1 人与身份证的关系: 注意:不存在数据容易问题??可以不拆分表么?可以 什么场景需要拆分 用户信息+身份证+。。。-》...
  • 之间的关系

    2021-05-09 20:09:17
    什么要拆 拆分的目的: 为了解决数据沉淀的问题,可以减少...学生和成绩的关系:一个学生有多个成绩 部门和员工的关系:一个部门有多个员工 这种关系怎么去建立,怎么去表达 在‘多’的一方,存储‘一’的主键I
  • 假如我双11产生了一个订单,这个订单里边有一本书,然后还有一个笔记本电脑,这就说明我这一个订单里边可以包含多个商品,另外,,不管是书还是笔记本电脑,它也有可能被其他的订单所购买?比如,张三他双11买了一本...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,379
精华内容 551
关键字:

一个表可以建立多个什么