mssql和sqlite中关于if not exists 的写法

在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] = '张三');

相关文章
相关标签/搜索