本篇內(nèi)容主要講解“怎么判斷數(shù)據(jù)庫(kù)表是否存在以及修改表名的方法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么判斷數(shù)據(jù)庫(kù)表是否存在以及修改表名的方法”吧!
10年積累的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有五通橋免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
一、判斷數(shù)據(jù)庫(kù)表是否存在:首先要拿到數(shù)據(jù)庫(kù)連接conn,調(diào)用DatabaseMetaData dbmd = conn.getDataMeta();之后調(diào)用如下方法:
復(fù)制代碼 代碼如下:
/** * 根據(jù)表名,判斷數(shù)據(jù)庫(kù)表是否存在 * @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é)果不為空,則說(shuō)明存在該表 result = true; //將返回結(jié)果置為true } }catch(Exception e){ e.printStackTrace(); } return result; }
二、修改表名:首先依然要拿到數(shù)據(jù)庫(kù)連接conn和數(shù)據(jù)庫(kù)描述對(duì)象dbmd以及Statement對(duì)象st,之后調(diào)用如下方法
復(fù)制代碼 代碼如下:
/** * 修改表名 * @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ù)庫(kù)類型 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)對(duì)oracle和db2判斷 } }catch(Exception e){ e.printStackTrace(); } //System.out.println(result); return result; }
到此,相信大家對(duì)“怎么判斷數(shù)據(jù)庫(kù)表是否存在以及修改表名的方法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!