下降,如果出现VS DROP?
有人可以告诉我,如果有任何区别
DROP IF EXISTS [TABLE_NAME]  DROP [TABLE_NAME] 
 我问这是因为我在我的MVC Web应用程序中使用JDBC模板。 如果我使用DROP [TABLE_NAME]则表示存在表。 如果使用DROP IF EXISTS [TABLE_NAME]则表示SQL语法错误。 有人可以帮忙吗? 
标准的SQL语法是
 DROP TABLE table_name; 
  IF EXISTS不是标准的; 不同的平台可能会用不同的语法来支持它,或者根本不支持它。 在PostgreSQL中,语法是 
 DROP TABLE IF EXISTS table_name; 
如果表不存在,或者其他数据库对象依赖于第一个,则会引发错误。 大多数情况下,其他数据库对象将是外键引用,但也可能有其他数据库对象。 (例如视图。)如果表不存在,第二个不会抛出错误,但是如果其他数据库对象依赖它,它仍然会抛出一个错误。
要删除一个表格以及依赖于它的所有其他对象,请使用其中的一个。
 DROP TABLE table_name CASCADE; DROP TABLE IF EXISTS table_name CASCADE; 
小心使用CASCADE。
这不是直接要求的。 但是,为了正确地查找表格,我偶然发现了这个问题,我想其他许多人也是这样做的。
从SQL Server 2016+可以使用
 DROP TABLE IF EXISTS dbo.Table 
对于SQL Server <2016,我所做的是永久表的以下内容
 IF OBJECT_ID('dbo.Table', 'U') IS NOT NULL DROP TABLE dbo.Table; 
或者,这是一个临时表
 IF OBJECT_ID('tempdb.dbo.#T', 'U') IS NOT NULL DROP TABLE #T; 
 你忘记了你的语法table : 
 drop table [table_name] 
哪一滴表。
运用
 drop table if exists [table_name] 
 在丢弃之前检查表是否存在。 
 如果存在,它会被丢弃。 
 如果不是,则不会引发错误,也不会采取任何行动。 
 DROP TABLE IF EXISTS [table_name] 
它首先检查表是否存在,如果是,则删除表
 DROP TABLE [table_name] 
它会在不检查的情况下删除,所以如果不存在,则会退出并显示错误
 如果不存在具有这种名称的表,则DROP失败,同时DROP IF EXISTS什么也不做。 
 如果使用脚本创build/修改数据库,这非常有用; 这样,您不必手动确保表格的以前版本被删除。 你只要做一个DROP IF EXISTS ,忘记它。 
当然,你当前的数据库引擎可能不支持这个选项,很难告诉你所提供信息的错误。