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 这个语法句式来创建表。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)