SQL笔记

来源:互联网 发布:推荐算法的稀疏性问题 编辑:程序博客网 时间:2024/05/29 08:50

.bak备份文件恢复:

  1. 新建数据库-【完成】
  2. 点击新建的数据库名-右键-【任务】-【还原】-【数据库】
  3. 选择【源设备】
  4. 【备份媒体】选择【文件】。点击【备份位置】的【添加】
  5. 选择一个.bak文件,点击【确定】
  6. 【还原选项】选择【覆盖现有数据库】

 

 

 

为表新增备注

if exists(select 1from sys.tables where object_id=object_id('test'))

begin

drop table test

end

create table test

(

col1 varchar(50),

col2 varchar(50)

)

executesp_addextendedpropertyN'MS_Description',N'这是测试列1',N'SCHEMA',N'dbo',N'table',N'test',N'column',N'col1'

executesp_addextendedpropertyN'MS_Description',N'这是测试列2',N'SCHEMA',N'dbo',N'table',N'test',N'column',N'col2'

 

查询备注信息

selectB.Name,A.value from sys.extended_properties A

inner joinsys.columns B on A.major_id=B.object_id

andA.minor_id=B.column_id

whereA.major_id=object_id('Biz_MedCardFrozenHis')

 

更新备注信息

executesp_updateextendedpropertyN'MS_Description',N'这是修改后的测试列1',N'SCHEMA',N'dbo',N'table',N'test',N'column',N'col1'

executesp_updateextendedpropertyN'MS_Description',N'这是修改后的测试列2',N'SCHEMA',N'dbo',N'table',N'test',N'column',N'col2'

 

为数据表添加新列:

Alter table表名 add新列名 nvarchar(30);

 

 

SQL优化:

聚集索引查找,开销过高:正常?

少地使用:in,not inlikeor或者having,尽量使用表链接代替 exist。Having可以用where代替

索引字段上少用:not,<>!=IS NULL和IS NOT NULL

能使用ID排序,就用ID排序(比如按时间查询的话,就可以考虑使用ID)

 

 

 

 

 

根据时间获取数据:

select * fromBiz_ImportRechargeHis a,Sys_File b where a.FileID=b.FileID

anda.InsCompanyID='1875' and a.Status=1

andSUBSTRING(CONVERT(CHAR(19), b.UploadTime, 120),1,11)='2014-09-28'

andSUBSTRING(CONVERT(CHAR(19), b.UploadTime, 120),1,11)!='2014-09-29'

and  a.FileID='284'

 

 

 

修改SQL数据的系统时间获取位置:

SQL数据库文件所在系统的时间

 

 

查看SQL语句对CPU占用率:

SQL ServerProfiler-

【登录】-【事件选择】-【列筛选器】-CPU

 

 

刷新本地缓存:

【编辑】-IntelliSense-【刷新本地缓存】

 

 

Sql的‘天’转换:

select casewhen  Datename(dd,GETDATE()) <= 9 then'0' + Datename(dd,GETDATE())

elseDatename(dd,GETDATE()) end; //SqlServer方法

 

 

 

SQL模糊查询:

Name like '%查询字符%'

Name =SUBSTR('查询字符',0,4)

SUBSTR(Name,0,4) ='查询字符'

 

 

将一个表的数据修改到另外一个表:

Update A set A.a=B.c

from db.Aas A. db.B as B

WheeA.b=B.b   //B表的c列数据更新到A表的a

 

0 0
原创粉丝点击