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判断数据库是否存在某条数据//观点一,先取出数据库中已存在ID存入内存,再进行判断
//数据太多情况,内存爆炸
DateTable dt = ExcuteSQL('SELECT ID FROM TABLE')
//List为数据集,已经去重
foreach(var item in List){
//观点二,在for循环中根据ID查询是否已存在
//for循环执行数据库?没这么干过
DateTable dt = ExcuteSQL(string.format('SELECT ID FROM TABLE WHERE ID = {0}',item.ID))
//判断是否在dt中存在
...
bool ISContain
...
//不存在
if(!ISContain){
//加入事物SQL列表
SQLList.Add('INSERT INTO ........')
}
}
//执行事物
....
首先,数据表存不存在这是属于数据库的范畴,跟java没有必然联系,你说的java或者jdbc来判断,最终也是调用的sql语句来判断的。判断数据表存不存在是用sql语句来判断的,不同的数据库,其判断的方式有些不一样,
比如oralce、mysql数据库 你可以用create table if not exists 这个语法句式来创建表。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)