首页 > 代码库 > sqlsever 约束相关语句

sqlsever 约束相关语句

--1、添加外键约束

ALTER TABLE Product ADD CONSTRAINT FK_Product_Category FOREIGN KEY(CategoryId) REFERENCES Category(CatId)

--给delflag添加默认值约束


--ALTER TABLE [dbo].[UserInfo] ADD CONSTRAINT DF_UserInfo_DelFlag default(0) for DelFlag
--ALTER TABLE dbo.UserInfo DROP CONSTRAINT [DF_UserInfo_DelFlag]
--ALTER TABLE dbo.UserInfo DROP COLUMN DelFlag
--ALTER TABLE dbo.UserInfo ALTER COLUMN [Address] nvarchar(64) null

--2、去重操作

--distinct只能紧跟SELECT后面,而且是对后面的所有的列都进行去重复操作;

demo:SELECT DISTINCT Title,MiddleName from dbo.Student order by Title,MiddleName;

这个案例去重复是对Title,MiddleName两列中所有的重复值进行去重,但是Tittle列中的重复值依然存在,要对Title列进行去重必须使用下面的demo

demo:SELECT DISTINCT Title from dbo.Student order by Title;

--3、多条件过滤
--not 非 or 或 and 且
--优先级(not>and>or)

--not 在sql语句中可以是!=或者<>

demo:SELECT * FROM dbo.Product WHERE ProId > 2 AND ProName<>‘洗发露‘ OR CountNumber =100

--4、区间查询

SELECT * FROM Product WHERE ProId between 2 and 4;

--5、模糊查询

demo:SELECT * FROM Customer WHERE FirstName LIKE ‘_o%‘;

               WHERE CompanyName like ‘%‘ ‘%‘;--两个单引号代表一个单引号

               WHERE CompanyName like ‘%[0-9]%‘;--公司姓名中包含0-9数字的查询出来

               WHERE CompanyName like ‘%[[]%‘;匹配公司名字中包含[的公司

demo:匹配名字中第二个字母是O的数据

--6、对于sql中的空值处理

--查询出ProName中为空的列

SELECT * FROM Product WHERE ProName IS null;

sqlsever 约束相关语句