判斷數(shù)據(jù)庫表是否存在以及修改表名的方法
首先要拿到數(shù)據(jù)庫連接conn,調(diào)用DatabaseMetaData dbmd = conn.getDataMeta();之后調(diào)用如下方法:
/**
* 根據(jù)表名,判斷數(shù)據(jù)庫表是否存在
* @param tableName
* @return true:存在該表,false:不存在該表
*/
public boolean hasTable(String tableName) {
Init();
boolean result = false; //判斷某一個(gè)表是否存在
try{
ResultSet set = dbmd.getTables (null, null, tableName, null); //獲取查找結(jié)果
while (set.next()) { //如果查找結(jié)果不為空,則說明存在該表
result = true; //將返回結(jié)果置為true
}
}catch(Exception e){
e.printStackTrace();
}
return result;
}
二、修改表名:
首先依然要拿到數(shù)據(jù)庫連接conn和數(shù)據(jù)庫描述對象dbmd以及Statement對象st,之后調(diào)用如下方法
/**
* 修改表名
* @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(); //獲取數(shù)據(jù)庫類型
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()); //執(zhí)行更新操作,返回結(jié)果
if(1==temp){
result = true; //將返回值設(shè)為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()); //執(zhí)行更新操作,返回結(jié)果
if(0==temp){
result = true; //將返回值設(shè)為true
}
}catch(Exception e){
e.printStackTrace();
}
}else{ //尚未實(shí)現(xiàn)對oracle和db2判斷
}
}catch(Exception e){
e.printStackTrace();
}
//System.out.println(result);
return result;
}
相關(guān)文章
SQL 導(dǎo)入導(dǎo)出Excel數(shù)據(jù)的語句
從Excel文件中,導(dǎo)入數(shù)據(jù)到SQL數(shù)據(jù)庫中,很簡單2009-11-11SQL Server 性能調(diào)優(yōu)之查詢從20秒至2秒的處理方法
這篇文章主要介紹了SQL Server 性能調(diào)優(yōu)之查詢從20秒至2秒的處理方法,需要的朋友可以參考下2017-07-07SQL SERVER 數(shù)據(jù)庫備份代碼實(shí)例
這篇文章主要介紹了SQL SERVER數(shù)據(jù)庫備份,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03sql server定時(shí)作業(yè)調(diào)用Kettle job出錯(cuò)的快速解決方法
這篇文章主要介紹了sql server定時(shí)作業(yè)調(diào)用Kettle job出錯(cuò)的快速解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11SqlServer 基礎(chǔ)知識 數(shù)據(jù)檢索、查詢排序語句
SqlServer 基礎(chǔ)知識 數(shù)據(jù)檢索、查詢排序語句,需要的朋友可以參考下。2011-10-10SQL Server使用PIVOT與unPIVOT實(shí)現(xiàn)行列轉(zhuǎn)換
這篇文章介紹了SQL Server使用PIVOT與unPIVOT實(shí)現(xiàn)行列轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05SQL Server跨服務(wù)器操作數(shù)據(jù)庫的圖文方法(LinkedServer)
這篇文章主要介紹了SQL Server跨服務(wù)器操作數(shù)據(jù)庫的方法,通過鏈接服務(wù)器(LinkedServer)實(shí)現(xiàn)SQL Server遠(yuǎn)程鏈接MySql等數(shù)據(jù)庫,需要的朋友可以參考下2022-10-10SQL SERVER 將XML變量轉(zhuǎn)為JSON文本
這篇文章主要介紹了SQL SERVER 將XML變量轉(zhuǎn)為JSON文本的相關(guān)資料,需要的朋友可以參考下2016-03-03