IF NOT EXISTS和 IF EXISTS的区别
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 DATABASE
或DROP SCHEMA
语句会删除指定的整个数据库,该数据库中的所有表(包含其中的数据)也将永远删除。因此使用时需谨慎,以免错误删除
转载来源:https://blog.csdn.net/yyp0304Devin/article/details/81429382
IF NOT EXISTS和 IF EXISTS的区别相关推荐
- 你真的会玩SQL吗?EXISTS和IN之间的区别
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
- 一直搞不清楚in和exists两者到底有什么区别,今天总算搞清楚了
使用MySql查询数据时,一直搞不清楚in和exists两者到底有什么区别,今天总算搞清楚了. 大概规则如下: 当B表的数据集小于A表数据集时,用in优于exists. select id from ...
- Oralce 使用SQL中的exists 和not exists 用法详解
exists表示() 内子查询返回结果不为空,说明where条件成立就会执行sql语句:如果为空,表示where条件不成立,sql语句就不会执行. not exists和 exists相反,子查询语 ...
- 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 ...
- exists和not exists的用法
一.exists和not exists的用法 exists : 强调的是是否返回结果集,不要求知道返回什么, 比如: select name from student where sex = 'm' ...
- oracle中exists和not exists用法(包含经典例题:查看学了所有课程的同学的信息的通俗易懂解释)
1.基本概念: select * from A where not exists(select * from B where A.id = B.id); select * from A where e ...
- mysql中not exists用法_not exists用法
not exists是sql中的一个语法,常用在子查询和主查询之间,用于条件判断,根据一个条件返回一个布尔值,从而来确定下一步操作如何进行,not exists也是exists或in的对立面. not ...
- mysql exists例子_mysql exists用法
在mysql中,有个关键字exists比较难理解,今天就来搞明白其含义和应用 exists的使用总是跟子查询关联起来,一种是不相关子查询,对于exists来说更常用的是相关子查询 不相关子查询:子查询 ...
- 1.oracle中的exists 和not exists 用法:
1.oracle中的exists 和not exists 用法: exists (sql 返回结果集为真) not exists (sql 不返回结果集为真) 如下: 表A ID NAME 1 A1 ...
- oracle中的exists 和 not exists 用法详解
from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...
最新文章
- 64位微型计算机系统是指内存,重庆2012年计算机非等级考试一级笔试试题
- 4.通过Ubuntu指令生成GIF图片
- MATLAB从入门到精通系列之MATLAB常见问题集锦-(二)
- 入门设计模式之建造者模式
- 【笔记】MATLAB中的图形(2)
- Ninject依赖注入(一)
- 快准牌电脑发软件_做自媒体必备技能,视频剪辑软件排名(精品篇)
- vue——路由独有的生命周期函数 activated deactivated
- 常用css样式属性大全(中文注释)
- android开发自定义选择器,创建自定义android选择器
- msdn安装后怎么用_Win10不好用?安装官方版精简Win10后,运行比win7更快更流畅
- clickhouse HDFS引擎
- Telegram支持删除双方设备中的聊天记录
- 从零开始编译LEDE固件 默认中文material主题_php_sir_新浪博客
- CBA离好生意还差几个NBA?
- Mybatis学习 association关联 和 collection集合
- 『基础教学第二章』MMD基本功能详解-Kinsama
- i 技术会笔记 | Druid在爱奇艺的实践和技术演进
- php carbon 中文,Carbon中文使用手册(下)
- js使用百度地图仅显示中国区域,实现大数据热点图
热门文章
- lisp方格网法计算土方量_土地整理中方格网法计算土方量
- mybatis-plus中Constants.WRAPPER的导入包
- Choco使用小记--如何设置choco的默认软件包安装位置
- Representation Learning with Contrastive Predictive Coding 论文阅读笔记
- 视频伪原创工具 剪辑过的视频md5会改变吗
- .7z文件 合并、解压
- 介词 inside like near of off past around
- PS学习之动态表情制作
- python 求和_python pandas行、列求和及累加求和
- windows提升效率神器