sqlserver常用语句整理
1、修改表名
exec sp_addextendedproperty N'MS_Description', N'订单表', N'SCHEMA', N'dbo',N'table', N'T_TRADE';
2、如果存在就删除表
drop table if exists AREACODE_ISP_SORT;
3、按条件插入、更新
插入 INSERT INTO T_ISP_AREA_CONFIG (FK_ISP_DATAID, FK_APP_DATAID, [TYPE], COMPANY, REGION_CODE, CREATE_TIME) select '1A0E86A97F3C4C8ABC6D157C2EA995DC','11BB5366-76FF-44BE-AAB1-024B306AABFB',2,'1',area_code,null from ss_sys_area where tenant_id='f3023bc0-00b4-427d-ae48-9d25c7dc34a1' and AREA_CODE like '35%' and AREA_CODE !='350000' 更新 update t set UNITID = u.SX_UNITID from T_TRADE t inner join S_SYS_SXUSER u on t.USERID = u.USER_ID where 1=1
4、判断表中字段是否存在,不存在创建
IF NOT EXISTS(SELECT * FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = 'T_PROJECT_TRADE_Hzqy') AND name = 'PAYTIME') alter table [StrongOA].[dbo].T_PROJECT_TRADE_Hzqy add PAYTIME datetime
5、修改字段长度
ALTER TABLE T_TRADE ALTER COLUMN BID_SECTION_ID NVARCHAR(100)
6、添加字段
alter table [dbo].[BID_WIN_RESULT_ANNO_MAIN] add BID_PROJECT_LEADER nvarchar(50) null GO EXEC sp_addextendedproperty 'MS_Description', N'项目负责人', 'SCHEMA', N'dbo', 'TABLE', N'BID_WIN_RESULT_ANNO_MAIN', 'COLUMN', N'BID_PROJECT_LEADER' GO
7、字段备注修改和增加
--字段添加和修改备注: --新增: exec sp_addextendedproperty N'MS_Description', N'字段备答注内容', N'SCHEMA', N'dbo',N'table',`` N'表名',N'column', N'字段名'; --修改: exec sp_updateextendedproperty N'MS_Description', N'字段备注内容', N'SCHEMA', N'dbo',N'table', N'表名',N'column', N'字段名';
8、修改字段名称
execute sp_rename '[dbo].[T_TRADE].UNITID','SX_UNITID';
9、修改字段类型
alter table 表名 alter column 字段名 type not null
10、创建一个非聚集索引
GO IF EXISTS (SELECT * FROM SYSINDEXES WHERE NAME='IX_FILE_UPLOAD_FILEGUID')--检测是否已经存在IX_FILE_UPLOAD_FILEGUID索引 DROP INDEX TEST.IX_FILE_UPLOAD_FILEGUID--如果存在则删除 --创建索引 CREATE NONCLUSTERED INDEX IX_FILE_UPLOAD_FILEGUID --创建一个非聚集索引 ON [dbo].[BID_TENDER_FILE_UPLOAD](FILE_GUID) --为BID_TENDER_FILE_UPLOAD表的FILE_GUID字段创建索引 WITH FILLFACTOR = 30 --填充因子为30% GO
总结:
1.什么是索引:数据库中的索引是某个表中一列或多列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
2.分类:
唯一索引(UNIQUE):不允许两行具有相同的索引值(创建了唯一约束,系统将自动创建唯一索引)
主键索引:主键索引要求主键中的每个值是唯一的,(创建主键自动创建主键索引)
聚集索引(CLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序相同,表中只能包含一个聚集索引,主键列默认为聚集索引
非聚集索引(NONCLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序不匹配,表中可以有249个非聚集索引
3.创建索引的标准:用语频繁搜索的列;用语对数据进行排序的列
注意:如果表中仅有几行,或列中只包含几个不同的值,不推荐创建索引,因为SQL Server 在小型表中用索引搜索数据所花的时间比逐行搜索更长。
11、修改默认值
根据约束名称删除约束
alter table 表名 drop constraint 约束名
根据表名向字段中增加新的默认值
alter table 表名 add CONSTRAINT default (0) for 字段名
ALTER TABLE [dbo].[TENDER_PROJECT] DROP CONSTRAINT [DF__TENDER_PR__BID_P__4AADF94F] GO ALTER TABLE [dbo].[TENDER_PROJECT] ADD CONSTRAINT [DF_TENDER_PROJECT_BID_PAGE_VERSION_GH_KCSJ] DEFAULT (N'sykcsj20230916') FOR [BID_PAGE_VERSION_GH_KCSJ] GO
说明:1、已经有默认值的字段必须先删除约束,否则无法修改成功。2、建议给约束命名一个固定名称,否则系统会随机命名,后续要修改不好找了。
12、设置主键
ALTER TABLE [dbo].[T_SECTION] ADD PRIMARY KEY (BID_SECTION_ID);
吾乃代码搬运工,侵联删