Sql Server系列:Delete语句

  数据的删除将删除表的部分或全部记录,删除时可以指定删除条件从而删除一条或多条记录。如果不指定删除条件,DELETE语句将删除表中全部的记录,清空数据表。

  DELETE语法:

[ WITH <common_table_expression> [ ,...n ] ]
DELETE
    [ TOP ( expression ) [ PERCENT ] ]
    [ FROM ]
    { { table_alias
      | <object>
      | rowset_function_limited
      [ WITH ( table_hint_limited [ ...n ] ) ] }
      | @table_variable
    }
    [ <OUTPUT Clause> ]
    [ FROM table_source [ ,...n ] ]
    [ WHERE { <search_condition>
            | { [ CURRENT OF
                   { { [ GLOBAL ] cursor_name }
                       | cursor_variable_name
                   }
                ]
              }
            }
    ]
    [ OPTION ( <Query Hint> [ ,...n ] ) ]
[; ]

<object> ::=
{
    [ server_name.database_name.schema_name.
      | database_name. [ schema_name ] .
      | schema_name.
    ]
    table_or_view_name
}

1. 根据指定条件删除一条或多条记录

DELETE FROM [dbo].[Product] WHERE ProductID = 1

2. 删除表中全部记录

  使用不带WHERE字句的DELETE语句可以删除表中的全部记录。

DELETE FROM [dbo].[Product]

  删除表中的全部记录也可以使用TRUNCATE语句:

TRUNCATE TABLE [dbo].[Product]

3. 使用 TOP 限制删除的行数

  当 TOP (n) 子句与 DELETE 一起使用时,将针对随机选择的 n 行执行删除操作。

DELETE TOP (10) FROM [dbo].[Product]
时间: 2024-10-05 21:02:29

Sql Server系列:Delete语句的相关文章

SQL Server中Delete语句表名不能用别名

delete from TABLEA A where A.FIELD1=10        (ORACLE适用)delete TABLEA from TABLEA A where A.FIELD1=10 (SQLSERVER适用)delete  from TABLEA where TABLEA.FIELD1=10    (Ora/SQL均适用)

【转载】SQL Server - 使用 Merge 语句实现表数据之间的对比同步

原文地址:SQL Server - 使用 Merge 语句实现表数据之间的对比同步 表数据之间的同步有很多种实现方式,比如删除然后重新 INSERT,或者写一些其它的分支条件判断再加以 INSERT 或者 UPDATE 等.包括在 SSIS Package 中也可以通过 Lookup, Condition Split 等多种 Task 的组合来实现表数据之间的同步.在这里 "同步" 的意思是指每次执行一段代码的时候能够确保 A 表的数据和 B 表的数据始终相同. 可以通过 SQL Se

Sql server的Merge语句,源表中如果有重复数据会导致执行报错

用过sql server的Merge语句的开发人员都应该很清楚Merge用来做表数据的插入/更新是非常方便的,但是其中有一个问题值得关注,那就是Merge语句中的源表中不能出现重复的数据,我们举例来说明这个问题. 现在我们有一张表叫T_Class_A,其建表语句如下: CREATE TABLE [dbo].[T_Class_A]( [ID] [int] IDENTITY(1,1) NOT NULL, [ClassName] [nvarchar](50) NULL, [StudentTotalCo

SQL Server - 使用 Merge 语句实现表数据之间的对比同步

原文:SQL Server - 使用 Merge 语句实现表数据之间的对比同步 表数据之间的同步有很多种实现方式,比如删除然后重新 INSERT,或者写一些其它的分支条件判断再加以 INSERT 或者 UPDATE 等.包括在 SSIS Package 中也可以通过 Lookup, Condition Split 等多种 Task 的组合来实现表数据之间的同步.在这里 "同步" 的意思是指每次执行一段代码的时候能够确保 A 表的数据和 B 表的数据始终相同. 可以通过 SQL Serv

SQL Server性能常用语句

查看各表的数据行数 SELECT o.name, i. ROWS FROM sysobjects o, sysindexes i WHERE o.id = i.id AND o.Xtype = 'U' AND i.indid < 2 ORDER BY o.name; 计算数据库中各个表每行记录所占用空间 --SELECT * FROM Employees AS e; CREATE TABLE #tablespaceinfo ( nameinfo VARCHAR(50) , rowsinfo BI

SQL Server中DML语句要申请的锁

对于select语句: 1.当采用表扫描时,会直接锁定page,而不是锁定具体的某条记录,所以会有这些锁: A.数据库S锁 B.表的IS锁 C.页的S锁 2.当采用索引来查找数据时,会锁定具体的记录,所以会有这些锁: A.数据库S锁 B.索引中page的IS锁 C.索引中page中的key的S锁 D.表的IS锁 E.页的IS锁 F.RID的S锁 3.对于读过的页面,会加一个IS锁. 对于使用的索引,会对key加上S锁,对索引key所在的页面会加上IS锁. 在查询过程中,会对每一条读到的记录或ke

SQL Server 系列文章快速导航(SWF版)

一.前言 在博客园写博客不自不觉已经有5个年头了,一开始只是为了记录工作中遇到的问题和解决办法,后来写的文章不自不觉的侧重在SQL Server方面的技术文章,在2014年1月终于鼓起勇气申请了微软SQL Server方面的最有价值专家(MVP),并荣幸的在4月份获得此殊荣. 今天整理了下文章,为了让大家更容易检索到(这里指人而不是所谓的SEO)我的文章,所以生成了一份SWF,以图形的方式,大家可以通过里面的链接快速进入文章,而且大家也可以下载这份SWF到本地,同样可以快速浏览. 二.SQL S

SQL Server系列文章目录

这里整理了我学习SQL Server的所有文章,包括从基础到高级的. 一,SQL Server数据类型 1,SQL Server中开发常用的数据类型 二,单表查询和多表查询   三,增,删,改   四,表和视图   五,存储过程   六,事务和并发   七,临时表   八,动态SQL   九,错误处理   十,SQL Server常用函数 SQL Server系列文章目录

SQL server 查看什么语句在使用临时表

SQL server 查询那些语句在使用临时表 最近在日常的性能测试工作中发现,数据库端的IO读写比较大,有规律的2-8M的波动,数据库的版本为 SQL server 2008 sp3. 这些IO操作主要来自于临时表,在测试之前,我们已经对部分消耗资源较多的语句进行了跟踪. 对一些使用临时表的语句进行了修改,但是肯定还是有落网之鱼.我们需要对其进行甄别,做到进一步的优化. 在开始之前,我们先来了解下什么样的操作会使用到临时表: 时的用户对象, 比如临时表,表变量等(#,##,@开头的一些变量)