1.介绍
if not exists即如果不存在,if exists即如果存在

2.使用
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’)

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

if exists同理判断,首先判断查询结果是否存在,如果存在执行判断后面的语句,查询的数据库,表,列的方法相同由此可见,IF EXISTS可以避免删除不存在的数据库出现的MySQL错误信息。另外需要注意的是:使用DROP DATABASEDROP SCHEMA 语句会删除指定的整个数据库,该数据库中的所有表(包含其中的数据)也将永远删除。因此使用时需谨慎,以免错误删除

转载来源:https://blog.csdn.net/yyp0304Devin/article/details/81429382

IF NOT EXISTS和 IF EXISTS的区别相关推荐

  1. 你真的会玩SQL吗?EXISTS和IN之间的区别

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  2. 一直搞不清楚in和exists两者到底有什么区别,今天总算搞清楚了

    使用MySql查询数据时,一直搞不清楚in和exists两者到底有什么区别,今天总算搞清楚了. 大概规则如下: 当B表的数据集小于A表数据集时,用in优于exists. select id from ...

  3. Oralce 使用SQL中的exists 和not exists 用法详解

    exists表示() 内子查询返回结果不为空,说明where条件成立就会执行sql语句:如果为空,表示where条件不成立,sql语句就不会执行. not exists和  exists相反,子查询语 ...

  4. sql中 in 、not in 、exists、not exists 用法和差别

    exists (sql 返回结果集为真) not exists (sql 不返回结果集为真) 如下: 表A ID NAME 1    A1 2    A2 3  A3 表B ID AID NAME 1 ...

  5. exists和not exists的用法

    一.exists和not exists的用法 exists : 强调的是是否返回结果集,不要求知道返回什么, 比如: select name from student where sex = 'm' ...

  6. oracle中exists和not exists用法(包含经典例题:查看学了所有课程的同学的信息的通俗易懂解释)

    1.基本概念: select * from A where not exists(select * from B where A.id = B.id); select * from A where e ...

  7. mysql中not exists用法_not exists用法

    not exists是sql中的一个语法,常用在子查询和主查询之间,用于条件判断,根据一个条件返回一个布尔值,从而来确定下一步操作如何进行,not exists也是exists或in的对立面. not ...

  8. mysql exists例子_mysql exists用法

    在mysql中,有个关键字exists比较难理解,今天就来搞明白其含义和应用 exists的使用总是跟子查询关联起来,一种是不相关子查询,对于exists来说更常用的是相关子查询 不相关子查询:子查询 ...

  9. 1.oracle中的exists 和not exists 用法:

    1.oracle中的exists 和not exists 用法: exists (sql 返回结果集为真) not exists (sql 不返回结果集为真) 如下: 表A ID NAME 1 A1 ...

  10. oracle中的exists 和 not exists 用法详解

    from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...

最新文章

  1. 64位微型计算机系统是指内存,重庆2012年计算机非等级考试一级笔试试题
  2. 4.通过Ubuntu指令生成GIF图片
  3. MATLAB从入门到精通系列之MATLAB常见问题集锦-(二)
  4. 入门设计模式之建造者模式
  5. 【笔记】MATLAB中的图形(2)
  6. Ninject依赖注入(一)
  7. 快准牌电脑发软件_做自媒体必备技能,视频剪辑软件排名(精品篇)
  8. vue——路由独有的生命周期函数 activated deactivated
  9. 常用css样式属性大全(中文注释)
  10. android开发自定义选择器,创建自定义android选择器
  11. msdn安装后怎么用_Win10不好用?安装官方版精简Win10后,运行比win7更快更流畅
  12. clickhouse HDFS引擎
  13. Telegram支持删除双方设备中的聊天记录
  14. 从零开始编译LEDE固件 默认中文material主题_php_sir_新浪博客
  15. CBA离好生意还差几个NBA?
  16. Mybatis学习 association关联 和 collection集合
  17. 『基础教学第二章』MMD基本功能详解-Kinsama
  18. i 技术会笔记 | Druid在爱奇艺的实践和技术演进
  19. php carbon 中文,Carbon中文使用手册(下)
  20. js使用百度地图仅显示中国区域,实现大数据热点图

热门文章

  1. lisp方格网法计算土方量_土地整理中方格网法计算土方量
  2. mybatis-plus中Constants.WRAPPER的导入包
  3. Choco使用小记--如何设置choco的默认软件包安装位置
  4. Representation Learning with Contrastive Predictive Coding 论文阅读笔记
  5. 视频伪原创工具 剪辑过的视频md5会改变吗
  6. .7z文件 合并、解压
  7. 介词 inside like near of off past around
  8. PS学习之动态表情制作
  9. python 求和_python pandas行、列求和及累加求和
  10. windows提升效率神器