内容摘要:本文介绍学习数据库知识之SQL操作标记
创建某一个表:
CREATETABLE[weekyc](
[yc_product][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[yc_max][numeric](18,0)NULL,
[yc_min][numeric](18,0)NULL,
[yc_situation][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[yc_time][datetime]NULL,
[id][numeric](18,0)IDENTITY(1,1)NOTNULL,
[Authority][int]NOTNULLCONSTRAINT[DF_weekyc_Authority]DEFAULT(3),
[remark][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
修改某一个表:
altertableweekycaddyc_max numeric(18,0) null
ALTERTABLE[weekyc]ADD DEFAULT'0'FOR[yc_max]
删除一个约束:
declare@namevarchar(8000)
select@name=b.namefromsyscolumnsa,sysobjectsbwherea.id=object_id('weekyc')andb.id=a.cdefaultand
a.name='yc_max'andb.namelike'DF%'
exec('altertableweekycdropconstraint'+@name)
ifnotexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[tablespaceinfo]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
createtabletablespaceinfo--创建结果存储表
(nameinfovarchar(50),
rowsinfoint,reservedvarchar(20),
datainfovarchar(20),
index_sizevarchar(20),
unusedvarchar(20))
deletefromtablespaceinfo--清空数据表
declare@tablenamevarchar(255)--表名称
declare@cmdsqlvarchar(500)
DECLAREInfo_cursorCURSORFOR
selecto.name
fromdbo.sysobjectsowhereOBJECTPROPERTY(o.id,N'IsTable')=1
ando.namenotlikeN'#%%'orderbyo.name
OPENInfo_cursor
FETCHNEXTFROMInfo_cursor
INTO@tablename
WHILE@@FETCH_STATUS=0
BEGIN
ifexists(select*fromdbo.sysobjectswhereid=object_id(@tablename)andOBJECTPROPERTY(id,N'IsUserTable')=1)
executesp_executesql
N'insertintotablespaceinfoexecsp_spaceused@tbname',
N'@tbnamevarchar(255)',
@tbname=@tablename
FETCHNEXTFROMInfo_cursor
INTO@tablename
END
CLOSEInfo_cursor
DEALLOCATEInfo_cursor
GO
数据库执行进程:sp_cmdshell
查询/修改/删除中影响的列:
RowCount
删除表中的重复数据:
(假设ID是Identity列,Title相同者将被删除)
deletefromTableNamewhereidnotin(selectmax(id)fromTableName groupbyTitle)
查看表信息:
select*fromtablespaceinfo
清空数据库:
truncatetableXX;
查看某库下面每个表占用的空间信息:
useXXDB;
selectobject_name(id)tablename,8*reserved/1024reserved,rtrim(8*dpages/1024)+'Mb'used,8*(reserved-dpages)/1024unused,8*dpages/1024-rows/1024*minlen/1024free,
rows,*fromsysindexes
whereindid=1
orderbyreserveddesc
sp_helptextXX;这是查看源码。
查看数据库进程sp_who;或者sp_who2更加详细;
绑定默认值sp_binddefaultxx;或者altertablexxadddefaultxxfor列;
修改数据库名称,修改表名称,修改存储过程名称,修改视图名称:sp_rename老的名字,新的名字
一个比较复杂的:DBCC,具体怎么用,太多了。
有些用处,平时用的。
责编:豆豆技术应用