增删改查 的一些不常用的小技巧

一  Insert 语句

1.在数据中只插入默认值:

insert into [DBTrain].[dbo].[log_info]
default values

2.在可以为null 的字段中,如果要设置null,可以按下[Ctrl+0],注意是零不是o,如果要恢复修改前的值按[Esc]

 

二 Update 语句

1.可以更新前几条或某个百分比的数据

update top(3) [log_info]
set info1 = '1001'

 

update top(80) percent [log_info]
set info2 = '1002'

 

 

2.Write子句

.Write(expression,@offset,@length)

Write字句可以许i该执行列中值的一部分,但此列必须是varchar(max),nvarchar(max)或varbinary(max)。

替换方式是将第@offset字符开始到长度为@length为止的字符以expression来替换

脚本,图例如下

SELECT Employee_Name
  FROM [DBTrain].[dbo].[Globally_Unique_Data]
 
  update [DBTrain].[dbo].[Globally_Unique_Data]
  set
  Employee_Name.write('test',2,3)
 
  SELECT Employee_Name
  FROM [DBTrain].[dbo].[Globally_Unique_Data]

 三 Delete 语句同样可以使用top 关键字

 

四 Select 语句

1. With Ties

执行下面sql:select  top 5  *   from test
order by id desc

结果见下图:

再执行以下sql 看不同:

select  top 5  with ties *   from test
order by id desc

可以看出来当前五条记录还没有把id = 2的数据显示完整的时候,

使用with ties,就可以把id = 2 的记录都显示出来

2. $identity

当我们为一个表格的一列,比如id,设置为Identity属性,一个表只会有一列

是标识列,可以通过执行

SELECT $identity, IDENTITYCOL
  FROM [DBTrain].[dbo].[log_info]

查询出表格[log_info]中的所有标识列的值

3.$RowGuid

一个表只能有一个 ROWGUIDCOL 列,

首先为列设置数据类型为uniqueidentifier,

RowGuid属性设置为True

默认值可以设置成NEWID 或 NEWSEQUENTIALID 函数生成全局唯一值

可以参照一下脚本(此脚本为转载):

CREATE TABLE dbo.Globally_Unique_Data
(guid uniqueidentifier CONSTRAINT Guid_Default DEFAULT NEWSEQUENTIALID() ROWGUIDCOL,
    Employee_Name varchar(60)
CONSTRAINT Guid_PK PRIMARY KEY (guid) );

此时执行

SELECT $rowguid,ROWGUIDCOL
  FROM [DBTrain].[dbo].[Globally_Unique_Data]

 可以得到表格Globally_Unique_Data里的所有ROWGUIDCOL列的值

 

posted on 2014-10-31 17:38  wanglgkaka  阅读(231)  评论(0编辑  收藏  举报

导航