Heim >Datenbank >MySQL-Tutorial >判断数据库表是否存在以及修改表名_MySQL

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-01 13:30:131409Durchsuche

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
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn