你如何使用SQL来查看表是否存在?

时间:2012-04-19 04:41:25

标签: sql oracle create-table

  

可能重复:
  SQL Server: Check if table exists
  Oracle: If Table Exists

我正在尝试创建一个表并插入一些值,但在此之前我必须确保该表尚不存在。你怎么检查这个?

5 个答案:

答案 0 :(得分:1)

您可以尝试从中选择并捕获错误,否则您将需要编写特定于DB的SQL来查询其各自的元数据表并查看。

答案 1 :(得分:0)

如果MySQL:

select count(*) from my_tables where table_name='table_1'; 
If count>0 then  ...

答案 2 :(得分:0)

假设SQL Server ...查询sysobjects:

select * from sysobjects where xtype='U' and name ='tablename'

答案 3 :(得分:0)

在MySQL中,您可以使用CREATE TABLE IF NOT EXISTS构造并在INSERT查询之前运行它。如果表不存在,这将创建表,如果表存在则不会执行任何操作。

CREATE TABLE IF NOT EXISTS myTable (
    ....
)

http://dev.mysql.com/doc/refman/5.1/en/create-table.html

http://docs.oracle.com/cd/E17952_01/refman-5.1-en/create-table.html

答案 4 :(得分:0)

这个简单的查询为您提供有关oracle中用户创建的特定表的详细信息。试试吧。

 select * from user_tables where table_name = 'tablename';