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

 更新时间:2013年09月09日 11:04:39   作者:  
本文为大家详细介绍下如何判断数据库表是否存在以及修改表名,感兴趣的朋友可以参考下,希望对大家有所帮助
一、判断数据库表是否存在:
首先要拿到数据库连接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;
}

相关文章

  • SQL Server 数据库分离与附加 就这么简单!

    SQL Server 数据库分离与附加 就这么简单!

    这篇文章主要介绍了SQL Server 数据库分离与附加,很简单的图文教程,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 浅谈SQLServer的ISNULL函数与Mysql的IFNULL函数用法详解

    浅谈SQLServer的ISNULL函数与Mysql的IFNULL函数用法详解

    本篇文章是对SQLServer的ISNULL函数与Mysql的IFNULL函数进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • sqlserver 文件数据库和关系数据库的比较

    sqlserver 文件数据库和关系数据库的比较

    本文概要地从数据格式、数据库结构和WEB发布数据三个方面比较了文件数据库和关系数据库的异同,同时差别了文件数据库和过去存储数据的文件系统的不同
    2011-10-10
  • 分页的存储过程

    分页的存储过程

    分页的存储过程...
    2006-08-08
  • SQL窗口函数之聚合窗口函数的使用(count,max,min,sum)

    SQL窗口函数之聚合窗口函数的使用(count,max,min,sum)

    许多常见的聚合函数也可以作为窗口函数使用,包括AVG()、SUM()、COUNT()、MAX()以及MIN()等函数,本文就详细的介绍了SQL窗口函数之聚合窗口函数的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • SQL语句优化提高数据库性能

    SQL语句优化提高数据库性能

    为了获得稳定的执行性能,SQL语句越简单越好。对复杂的SQL语句,要设法对之进行简化,本文给大家介绍优化SQL语句提高数据库性能,对sql语句优化性能优化相关知识感兴趣的朋友一起学习吧
    2016-01-01
  • mybatis动态sql常用场景总结

    mybatis动态sql常用场景总结

    在平时开发中针对动态sql经常会使用到,为了加深对动态sql的熟练度,小编给大家分享一篇教程关于mybatis动态sql常用场景总结,需要的朋友可以参考下
    2021-08-08
  • SQL DCL数据控制语言的使用

    SQL DCL数据控制语言的使用

    本文主要介绍了SQL DCL数据控制语言的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • SqlServer备份数据库的4种方式介绍

    SqlServer备份数据库的4种方式介绍

    这篇文章主要介绍了SqlServer备份数据库的4种方式介绍,本文讲解了用sqlserver的维护计划、通过脚本+作业的方式备份数据库(非xp_cmdshell和xp_cmdshell)、用powershell调用sqlcmd来执行备份命令几种方式,需要的朋友可以参考下
    2015-02-02
  • SQLServer2019安装教程图文详解

    SQLServer2019安装教程图文详解

    这篇文章主要介绍了SQLServer2019安装教程图文详解,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02

最新评论