[转载]java和sql如何判断数据库表是否存在

[转载]java和sql如何判断数据库表是否存在,第1张

1.sql语句判断数据库表是否存在:

sql:select * from user_all_tables where

table_name='tableName'

String helperName=

delegator.getGroupHelperName("com.asiainfo")

SQLProcessor sqlProcessor= new SQLProcessor(helperName)

String sql = "select * from user_all_tables where

table_name='"+table+"'"

ResultSet rsTables

=sqlProcessor.executeQuery(sql)

if(rsTables.next()){

Debug.logWarning("table:"+table+"exists",

module)}else{

Debug.logWarning("table:"+table+" does not exist", module)}方法二:DatabaseMetaData meta = m_sqlCon.getMetaData()

ResultSet rsTables = meta.getTables(null , null,

“YourTableName”, null)

if(rsTables.next()){

System.out.println("The

Table exsits.")}else{

System.out.println("The

如果schema参数为null的话,那么它会查询整个数据库中的表有可能会冲突的:

getTables(String catalog,String schemaPattern,String

tableNamePattern,String[] types)

参数: catalog:目录名称,一般都为空.

参数:schema:数据库名,对于oracle来说就用户名

参数:tablename:表名称

参数:type :表的类型(TABLE | VIEW)

注意:在使用过程中,参数名称必须使用大写的。

1.直接对数据库表进行 *** 作,如查询 *** 作,数据库表不存在则会抛出异常。如果收到异常则可以进行后续的建表 *** 作了。

2.读取数据库中表名列表,看表是否在其中,代码如下:

//java获取数据库中所有表名,判断某个表是否在数据库中存在

connection = DriverManager.getConnection(mySqlDbUrl, "", "") DatabaseMetaData meta = (DatabaseMetaData)connection.getMetaData() ResultSet rs = meta.getTables(null, null, "table", null)//table为表名 if(rs.next()){ System.err.println(true) }else{ System.err.println(false) } rs.close() connection.close()

首先,数据表存不存在这是属于数据库的范畴,跟java没有必然联系,你说的java或者jdbc来判断,最终也是调用的sql语句来判断的。

判断数据表存不存在是用sql语句来判断的,不同的数据库,其判断的方式有些不一样,

比如oralce、mysql数据库 你可以用create table if not exists 这个语法句式来创建表。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6931708.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存