判断数据库表是否存在以及修改表名_MySQL

WBOY
发布: 2016-06-01 13:30:13
原创
1258명이 탐색했습니다.

bitsCN.com

判断数据库表是否存在以及修改表名

 

一、判断数据库表是否存在:

 

首先要拿到数据库连接conn,调用DatabaseMetaData dbmd = conn.getDataMeta();之后调用如下方法:

 

  /**     * 根据表名,判断数据库表是否存在     * @param tableName     * @return true:存在该表,false:不存在该表     */    public boolean hasTable(String tableName) {      Init();        boolean result = false;                                                       //判断某一个表是否存在        try{                  ResultSet set = dbmd.getTables (null, null, tableName, null);             //获取查找结果         while (set.next()) {                                                            //如果查找结果不为空,则说明存在该表                result = true;                                                             //将返回结果置为true                                                               }        }catch(Exception e){         e.printStackTrace();        }        return result;    }
登录后复制

二、修改表名:

首先依然要拿到数据库连接conn和数据库描述对象dbmd以及Statement对象st,之后调用如下方法

    /**     * 修改表名     * @param srcTableName 源表名     * @param newTableName 新表名     * @return true:修改表名成功,false:修改表名失败     */    public boolean renameTable(String srcTableName,String newTableName){     Init();     boolean result = false;     StringBuffer sql = new StringBuffer();     try{      String dataBaseType = dbmd.getDatabaseProductName();                   //获取数据库类型          if(("Microsoft SQL Server").equals(dataBaseType)){                              //sqlServer       try{        sql.append("EXEC sp_rename"+" "+srcTableName).append(",").append(newTableName);        int temp = 0;        temp = st.executeUpdate(sql.toString());                                              //执行更新操作,返回结果        if(1==temp){         result = true;                                                                                         //将返回值设为true        }       }catch(Exception e){        e.printStackTrace();       }            }else if(("HSQL Database Engine").equals(dataBaseType)||("MySQL").equals(dataBaseType)){   //hsql和mysql       try{        sql.append("ALTER TABLE"+" "+srcTableName+" "+"RENAME TO"+" "+newTableName);        int temp = 1;        temp = st.executeUpdate(sql.toString());                                               //执行更新操作,返回结果        if(0==temp){             result = true;                                                                                          //将返回值设为true        }       }catch(Exception e){        e.printStackTrace();       }      }else{  //尚未实现对oracle和db2判断        }     }catch(Exception e){      e.printStackTrace();     }      //System.out.println(result);     return result;             }
登录后复制

 


bitsCN.com
相关标签:
来源:php.cn
본 웹사이트의 성명
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
더>
最新下载
더>
网站特效
网站源码
网站素材
프론트엔드 템플릿
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!