SQL server 常用语句收录
create UNIQUE INDEX 索引名 ON 表名(字段名) 创建唯一非聚集索引
create NONCLUSTERED INDEX 索引名 ON 表名(字段名) 创建不唯一 非聚集索引
alter table 表名 alter column 字段名称 类型 not null – 修改字段类型
drop Index 表名.索引名 --删除索引
alter table 表名 add constraint 约束名 default 默认值 for 列名–创建默认值约束
INSERT INTO 表名(字段名) SELECT 字段名 FROM 表名 --向表添加其他表数据
alter table [表名] add 字段名 varchar(N) [null] 增加变长文本型字段大小为N(1~255) – 添加字段
alter table 表名 add 字段名 字段类型 not null default 值–添加有默认值字段
EXEC sp_rename ‘[dbo].[表名].旧字段名’,‘新字段名’,‘COLUMN’–修改字段名
alter table 表名 drop constraint 约束–删除约束
alter table 表名 drop column 字段名 --删除字段
select [字段名], COUNT(1) from [表名] group by [名] having COUNT(1) > 1–查询该字段重复的数量
select TOP 1000 a.[字段],b.[字段],b.[字段] from
[表A名] as a
left join [表b名 b
on a.[code]=b.[code]
where 条件
update [表名] set 字段名 = replace(字段名,‘需要修改的对象’,‘修改的对象’)
–创建存储过程,执行一条插入语句,但是对插入的某个字段进行处理
CREATE PROCEDURE [dbo].[存储过程名]
@id INT OUTPUT,
@参数1 cs_id INT output,
@参数2 ,
@参数3 ,
@参数4 ,
@参数5 ,
AS
declare @m_zx_id int
set @m_zx_id = 0
begin transaction
BEGIN
select @m_cs_id=查询条件 from 表名 --通过查询语句获取需要的参数
set @cs_id = @m_cs_id --对参数赋值
INSERT INTO 表名(
@参数1 cs_id INT output,
@参数2 ,
@参数3 ,
@参数4 ,
@参数5 ,
) VALUES(
@参数1 cs_id,
@参数2 ,
@参数3 ,
@参数4 ,
@参数5 ,
);
SET @id=@@identity
commit transaction
END
GO
delete from Student
where Name in( select Name from Student group by Name having count(Name) > 1) and
ID not in(select max(ID) from Student group by Name having count(Name) > 1 )–删除某字段重复数据
创建存储过程,判断表是否有这条数据,如果有修改,没有则插入
CREATE PROCEDURE [dbo].[Proc_table_InsertOrUpdate]
@aINT OUTPUT,
@b UNIQUEIDENTIFIER,
@c NVARCHAR (3000),
@d NVARCHAR (200),
@e TINYINT
AS
BEGIN
IF EXISTS (SELECT [a] FROM [QZCourt].[dbo].[table] WHERE [a] = @a)
BEGIN
UPDATE TOP(1) [test].[dbo].[table] SET
[a]=@a,
[b]=@b,
[c]=@c,
[d]=@d,
[e]=@e
WHERE ([a]=@a);
SET @id=@@identity
END
ELSE
BEGIN
INSERT INTO table(
a,
b,
c,
d,
e
) VALUES(
@a,
@b,
@c,
@d,
@e
);
SET @id=@@identity
END
END
GO
DBCC CHECKIDENT (‘OrgCompanyListSyncTemp’, RESEED, 1);
go – 将表ID字段重置
DBCC CHECKIDENT (‘dbo.OrgCompanyListSyncTemp’)
GO --查询表ID