Rumah > pangkalan data > tutorial mysql > 判断数据库表是否存在以及修改表名_MySQL

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-01 13:30:13
asal
1414 orang telah melayarinya

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;    }
Salin selepas log masuk

二、修改表名:

首先依然要拿到数据库连接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;             }
Salin selepas log masuk

 


bitsCN.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan