SQL文でテーブルの存在を確認する方法は?

SQLでは、テーブルが存在するかどうかを判断するために以下の2つの方法が利用できます。

  1. 存在する場合
  2. ネイティブの日本語で文章を言い換えてください、1つのオプションのみ必要です:
IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = '<database_name>' AND table_name = '<table_name>')
    PRINT 'Table exists'
ELSE
    PRINT 'Table does not exist'

このうち、はデータベースの名前、は存在するか判断するテーブルの名前です。

  1. sys.tables
IF EXISTS (SELECT 1 FROM sys.tables WHERE name = '<table_name>')
    PRINT 'Table exists'
ELSE
    PRINT 'Table does not exist'

は existenceの判定対象とするテーブル名です。

異なるデータベース管理システムでは上記の2つの方法は少し異なる場合があるので、お使いのデータベース管理システムに応じて適宜調整してください。

bannerAds