在sql语名中,if not exists 即若是不存在,if exists 即若是存在。sql
下面学习下两者的用法。数据库
a,判断数据库不存在时学习
复制代码 代码以下: if not exists(select * from sys.databases where name = 'database_name')sqlite
b,判断表不存在时it
复制代码 代码以下: if not exists (select * from sysobjects where id = object_id('table_name') and OBJECTPROPERTY(id, 'IsUserTable') = 1)table
c,判断列不存在object
复制代码 代码以下: if not exists (select * from syscolumns where id=object_id('table_name') and name='column_name')select
当判断的表不存时,我能够执行建立数据库,建立表,增长列,能够执行相应的SQL语句;语法
而if exists同理判断,首先判断查询结果是否存在,若是存在执行判断后面的语句,查询的数据库,表,列的方法相同;方法
mssql语法:
复制代码 代码以下: if not exists (SELECT 1 FROM [t_Table] where [fName] = '张三') insert into [t_Table] ([fName]) values ('张三');
sqlite语法:
复制代码 代码以下: insert into [t_Table] ([fName]) select '张三' where not exists (SELECT 1 FROM [t_Table] where [fName] = '张三');