create table tableName( columnName nvarchar(20) not null default‘默认值‘, columnName1 nvarchar(20) null, columnName2 int identity(1,1)--创建自增长字段 CONSTRAINT PK_TableName PRIMARY KEY(columnName), CONSTRAINT UK_TableName UNIQUE (columnName), /*Checks*/ CHECK (columnName>0) )
drop table tableName
alter table [dbo].[tableName] add columnName nvarchar(20) not null;
alter table [dbo].[tableName] add constraint PK_tableName primary key(columnName); -- alter table tableName add primary key (columnName); alter table [dbo].[tableName] add constraint UK_tableName UNIQUE (columnName); --alter table tableName add UNIQUE (columnName);
alter table [dbo].[tableName] alter column columnName nvarchar(20);
alter table tableName [WITH NOCHECK] ADD CONSTRAINT <约束名> FOREIGN KEY (<字段>) REFERENCES <引用的表名>(<字段>) [ON <UPDATE | DELETE<NO ACTION | CASCADE | SET NULL| SET DEFAULT>]; --WITH NOCHECK:如果增加约束时不需要对现有的数据进行约束检查,可选用此项; -- NO ACTION:当父表中的行被更新(删除)时,则产生错误,并撤销对数据的操作。 -- CASCADE: 当父表中的行被更新(删除)时,同时更新(删除)子表中相依赖的行 -- SET NULL:当父表中的行被更新(删除)时,将子表中相依赖行中相应字段的数据设为空。 -- SET DEFAULT:同上; []:可选 <>:必选
ALTER TABLE tableName [WITH NOCHECK] ADD CONSTRAINT <约束名> CHECK (<check_condition>); --alter table employee WITH NOCHECK ADD CONSTRAINT check_age CHECK(age>18);
关闭:alter table tableName NOCHECK CONSTRAINT checkName; 删除:alter table tableName DROP CONSTRAINT checkName; --修改字段名: execute sp_rename ‘dbo.tableName.columnName_old‘,‘columnName_new‘
alter table tableName drop column columnName
CREATE INDEX<index_name> ON tableName (columnName[,cloumnName1]);
DROP INDEX <index_name> ON tableName
select name,age,sex=case when sex=‘F‘ then ‘女‘ when sex=‘M‘ then ‘男‘ end from PEOPLE_TEST
--创建视图(只能写select语句,并且一个视图只能写一个select语句) CREATE VIEW viewName as <select statement>; -- 更新视图(条件:1、视图必须未涉及连接。2、视图必须不包含Group by 子句。3、不能使用distinct子句。4、where 子句不能包含表的嵌套引用) update viewName set age=age+1 where studentID=‘080808‘ --修改视图 alter view viewName as select_statement --删除视图 drop view viewName
--创建临时表:(一个#说明是局部临时表,两个#说明是全局临时表) create table #temp_stu( name nvarchar(20), num nvarchar(20) ) --删除临时表:drop table #temp_stu --创建临时表(2):temp_stu1,查询people_test中的数据,并将数据插入到temp_stu1中去 select name,age into #temp_stu1 from PEOPLE_TEST