在java程序中,怎样写一段程序实现判断一个表(名)是否存在?

我已经用jdbc连接上mysql数据库了,现在实现先判断一个表是否存在,如果不存在就创建,然后执行sql语句,如果存在,则直接执行下面的sql语句!最好详细一点,给出一段... 我已经用jdbc连接上mysql数据库了,现在实现先判断一个表是否存在,如果不存在就创建,然后执行sql语句,如果存在,则直接执行下面的sql语句!
最好详细一点,给出一段代码!
展开
 我来答
UF_NC
2011-12-02 · TA获得超过186个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:100万
展开全部

在oracle数据库执行select *from tab 结果是数据库当前用户的所有表名称,我没用过mysql不知道行不行;oracle里面没有问题:比如查一下用户表是否存在:select *from tab where tname = 'SM_USER'; 

你可以在mysql执行一下这个sql: select *from tab;有结果就可以使用,结合你的程序做判断在处理。

匿名用户
推荐于2016-03-03
展开全部
//试试这个呢
connection = DriverManager.getConnection(mySqlDbUrl, "",
"");
DatabaseMetaData meta = (DatabaseMetaData)connection.getMetaData();
ResultSet rs = meta.getTables(null, null, "AA01", null);//AA01为表名,根据你的实际情况确定
if(rs.next()){
System.err.println(true);
}else{
System.err.println(false);
}
rs.close();
connection.close();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
熊熊半双c7
2011-12-02 · 超过14用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:17.6万
展开全部
关键就是sql语句了,string strSQL = "CREATE TABLE IF NOT EXISTS `gradeinfo` ( \
`gradename` varchar(20) NOT NULL, \
`gradelevel` char NOT NULL, \
`cap_min` bigint(20) default 0, \
`cap_max` bigint(20) default 0, \
`vol_min` int(11) default 0, \
`vol_max` int(11) default 0, \
`res_min` int(11) default 0, \
`res_max` int(11) default 0, \
`reserve` varchar(50) default NULL,\
PRIMARY KEY (`gradename`,`gradelevel`) \
)DEFAULT CHARSET=utf8";

再用jdbc的语句来执行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式