
方法有二: 1、查询表user,如果抛出表不存在的异常,就证明表user不存在。 2、查询系统表,每种数据库都有一张系统表,用该存放数据库中的所有表的信息。 你只需要查询系统表有无该表的记录即可。但是不同种类的数据库,系统表可能不一样。
下面的 SQL 是, 如果 STOCK 这个表不存在,那么创建之。
IF NOT EXISTS (SELECT FROM sysobjects WHERE object_id = OBJECT_ID(N'[dbo][STOCK]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo][STOCK](
[STOCK_CODE] [varchar](10) NOT NULL,
[STOCK_NAME] [varchar](50) NOT NULL
)
END
GO
如果是判断 表存在
那么 前面的
IF NOT EXISTS
修改为
IF EXISTS
删除,重建的 SQL ,就写在那个 BEGIN END 里面。
-----
DROP TABLE 不能用于除去由 FOREIGN KEY 约束引用的表。必须先除去引用的 FOREIGN KEY 约束或引用的表。
偷懒的办法,就是 如果表存在, 那么删除掉
这样的 *** 作, 多执行几次
最后统一 建表
这么处理的结果就是
第一次处理, 所有没有 FOREIGN KEY 约束引用的表 与 引用的 FOREIGN KEY 约束或引用的表 被删除了
第二次处理, 某些原来不能删除的表,由于 引用的 FOREIGN KEY 约束或引用的表 被删除了, 现在可以删除了
麻烦在于:
如果数据库体系太复杂
比如:
学校 是 系的 FOREIGN KEY
系 是 班级的 FOREIGN KEY
班级 是 学生的 FOREIGN KEY
学生是 考试成绩的 FOREIGN KEY
这种情况下, 就麻烦了
以上就是关于用java判断数据库某个表是不是存在全部的内容,包括:用java判断数据库某个表是不是存在、sql 中如何查询是否这个表存在,并删除,重建、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)