SQLSERVER常用的一些命令和知识点收集整理

浏览: 3369
数据库对象的操作
     1、创建数据库  CREATE DATABASE database-name 
2、删除数据库 drop database dbname
3、创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
4、删除新表 drop table tabname
5、增加一个列 Alter table tabname add column col type
6、添加主键 Alter table tabname add primary key(col)
删除主键: Alter table tabname drop primary key(col)
7、创建索引:create [unique] index idxname on tabname(col….)
8、创建视图:create view viewname as select statement
9、初始化表table1 TRUNCATE TABLE table1
10、删除视图:drop view viewname

其他参考:
Insert into select语句与select into from 语句
语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。
语句形式为:SELECT vale1, value2 into Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。

创建索引语句:
IF EXISTS (SELECT 1
FROM dbo.sysindexes
WHERE name = N'INDEX_CO_text'
AND id = Object_id(N'text'))
BEGIN
DROP INDEX text.[INDEX_CO_text]
END

CREATE NONCLUSTERED INDEX [INDEX_CO_text]
ON text(campaignid, ownerid)
ON [PRIMARY]




管理维护数据库


/*
功能说明:清空缓存
*/
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE

/*
功能说明:重建索引,整理索引碎片
*/
DBCC SHOWCONTIG(XTRZB) WITH tableresults
DBCC DBREINDEX(GYPLDFL1)
/*
功能说明:更新统计信息
*/
update statistics GYPLDFL1
/*
功能说明: 重建整个库的索引碎片
修改说明: Created BY LY 2012-6-14
*/
DECLARE @SQL VARCHAR(MAX)
SET @SQL = ''
SELECT @SQL = @SQL + 'DBCC DBREINDEX(' + name + ');'
FROM sysobjects
WHERE xtype = 'u'
EXEC(@SQL)
/*
功能说明: 重建整个库的统计信息
修改说明: Created BY LY 2012-6-14
*/
Exec sp_updatestats;

推荐 0
本文由 梁勇 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

梁勇

梁勇 天道酬勤、上善若水。爱好商业智能

SQL脚本查询本月的第一个星期二至下月的第一个星期二的时间段 :
DECLARE @BEGINDate DATETIME,
@EndDate DATETIME;

SELECT @BEGINDate = getdate() ;

SET @EndDate = Dateadd(M, 1, @BEGINDate);

SELECT Dateadd(wk, Datediff(wk, 0, Dateadd(dd, 6 - Datepart(day, @BEGINDate), @BEGINDate)), 0) + 1,----本月第一个星期二
Dateadd(wk, Datediff(wk, 0, Dateadd(dd, 6 - Datepart(day, @EndDate), @EndDate)), 0) + 1 ----下月的第一个星期二

要回复文章请先登录注册