if exists和if not exists关键字用法

在sql语名中,if not exists 即如果不存在,if exists 即如果存在。

下面学习下二者的用法。

a,判断数据库不存在时
 

代码示例:
if not exists(select * from sys.databases where name = 'database_name')

b,判断表不存在时
 

代码示例:
if not exists (select * from sysobjects where id = object_id('table_name') and OBJECTPROPERTY(id, ’IsUserTable’) = 1)

c,判断列不存在
 

代码示例:
if not exists (select * from syscolumns where id=object_id(’table_name’) and name=’column_name’)

if exists(select * from syscolumns where id=object_id(’表名’) and name=’列名’)  
  alter table 表名 drop column 列名  if exists(select * from syscolumns where id=object_id(’表名’) and name=’列名’)
  alter table 表名 drop column 列名

 

当判断的表不存时,我可以执行创建数据库,创建表,增加列,可以执行相应的SQL语句;

而if exists同理判断,首先判断查询结果是否存在,如果存在执行判断后面的语句,查询的数据库,表,列的方法相同;

转载于:https://www.cnblogs.com/nonato/p/4383493.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在MySQL中,IF EXISTS和IF是两个不同的关键字,用于不同的场景。 IF EXISTS关键字用于检查某个对象是否存在。比如在创建数据库、表或列之前,可以使用IF NOT EXISTS来检查对象是否已存在。如果对象存在,则不执行相应的创建操作。 IF关键字用于条件判断。它可以用于存储过程或函数中,根据条件执行相应的代码块。在MySQL中,可以使用IF语句来进行条件判断和控制流程。 例如,可以在存储过程中使用IF语句来判断索引是否存在,并在存在时执行删除索引的操作。 因此,IF EXISTS用于检查对象是否存在,而IF用于条件判断和控制流程。这两个关键字在MySQL中有不同的用途和语法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MYSQL IF NOT EXISTS AND IF EXISTS](https://blog.csdn.net/tashanhongye/article/details/50069363)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [mysql判断索引是否存在时删除索引的方法(mysql drop index if exists PROCEDURE)](https://blog.csdn.net/weixin_35944230/article/details/114979850)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值