SQL Server删除表及删除表中数据的方法_MsSql

本文介绍SQL Server中如何删除表,如何删除表中的数据。在删除表数据时有delete和truncate两种方法,delete和truncate有什么区别呢?

SQL Server,我们现在基本上使用的最古老的版本应该是SQL Server 2000吧,应该没有更早的版本了吧?!从SQL Server 2000开始,到SQL Server 2005,2008,2012等,T-SQL的处理能力越来越强。今天我们就来说说如何使用T-SQL脚本来删除表,以及删除表中的数据。

删除表和删除表数据这是两回事!删除表表示不管表中有没有数据,将该数据库表彻底抹去,不留下任何东西。而删除表数据,只是删除表中的数据行,而表结果依然存在,还可以往表中插入新的数据。

删除表的T-SQL语句为:

drop table <表名>

drop是丢弃的意思,drop table表示将一个表彻底删除掉。

删除表数据有两种方法:delete和truncate。

delete的用法如下:

delete from <表名> [where条件]

truncate的用法如下:

truncate table <表名>

delete和truncate的区别如下:

1、delete可以删除表中的一条或多条数据,也可以删除全部数据;而truncate只能将表中的全部数据删除。

2、delete删除表数据后,标识字段不能复用。也就是说如果你把id=10(假如id是标识字段)的那行数据删除了,你也不可能再插入一条数据让id=10.

3、truncate删除表数据后,标识重新恢复初始状态。默认为初始值为1,也就是说,truncate之后,再插入一条数据,id=1.

时间: 2024-11-26 23:51:27

SQL Server删除表及删除表中数据的方法_MsSql的相关文章

SQL Server实现显示每个类别最新更新数据的方法

本文实例讲述了SQL Server实现显示每个类别最新更新数据的方法.分享给大家供大家参考,具体如下: 在项目中经常遇到求每个类别最新显示的数据,比如显示某某某类别最新更新的5条数据.特写下这个sql记录于此: -- ============================================= -- 作者: <Rising_Sun> -- 创建日期: <2012-9-28> -- 描述: <显示每个类别下最新更新的n条数据> -- ============

SQL Server Bulk Insert 只需要部分字段时的方法_MsSql

根据一般做法的话,导出部分字段时没有办法生成格式化XML文件,所以导入时就没有办法格式化导入数据. 我想到两点,1.手工修改格式化XML文件,2.创造一个能生成格式化XML文件的中间对象. 在MSDN中寻找方法时,突然想到可以使用视图来做中间对象,于是就搭一个测试下.以下是测试记录: 复制代码 代码如下: USE master GO CREATE DATABASE [db_test] GO USE db_test GO CREATE TABLE dbo.T_test( ID [int] IDEN

sql server 2012 数据库所有表里查找某字符串的方法_MsSql

复制代码 代码如下: USE [数据库名称];  --1.定义需要查找的关键字.在搜索中,使用模糊搜索:LIKE '%@key_find%' DECLARE @key_find NVARCHAR(MAX) = '123';--假设是找字符串"123"  --2.用游标Cursor_Table,遍历所有表 DECLARE Cursor_Table CURSOR FOR     SELECT name from sysobjects WHERE xtype = 'u' AND name &

SQL语句分组获取记录的第一条数据的方法_MsSql

使用Northwind 数据库 首先查询Employees表 查询结果: city列里面只有5个城市 使用ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2) 先进行分组 注:根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的). sql语句为: select EmployeeID,LastName,FirstName,Title,TitleOfCourtesy,City,ROW_NUM

sql server 2008如何根据一个表中数据去查询另一个表的数据?

问题描述 sql server 2008如何根据一个表中数据去查询另一个表的数据? 现在我有三个表,表A有11列,其中有一列用来记录员工的id,一列是记录类型的Id,现在我要查询出表A的所有数据,但同时我要通过员工的id去查询出表B的员工名,通过类型的id,去查询出表C中的类型详情,最后我要得到的数据就是表A中除了员工id和类型id的数据外的9列数据,加上表B的员工名和表C的类型详情,请问这样的SQL语句要如何写? 解决方案 用一个表的数据更新另一个表Sql ServerSQL server中将

SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型

原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验. 3.熟悉或了解Microsoft SQL Server 2008中的空间数据类型. 4.具备相应(比如OGC)的GIS专业理论知识. 5.其他相关知识.   通过前面几篇文章介

sql server建库、建表、建约束技巧

下面给大家分享下sql server建库.建表.建约束技巧,下文介绍有文字有代码. --创建School数据库之前:首先判断数据库是否存在,若存在则删除后再创建,若不存在则创建-- --exists关键字:括号里边能查询到数据则返回'true' 否则返回'false' if exists(select * from sysdatabases where name = 'School') --exists返回'true'则执行删除数据库操作-- drop database School --exi

关于SQL Server自动备份无法删除过期的备份文件奇怪现象

server|备份 关于SQL Server自动备份无法删除过期的备份文件 数据库服务器每天凌晨两点进行数据库备份,同时对5天前的数据库备份文件进行删除,不然的话就会把硬盘给撑爆的 windows的日志里给出信息:SQL Server Scheduled Job 'DB 维护计划"数据库维护计划1"的 DB 备份作业.' (0x2DA54A5BBEFC2B4A874428B91602C52A) - Status: 失败 - Invoked on: 2005-09-09 01:00:00

怎样用ADO在SQL SERVER中建库,建表

怎样用ADO在SQL SERVER中建库,建表 通过ADO可以访问SQL SERVER,并执行相应的SQL语句建库.建表,下面是SQL SERVER BOOKS ONLINE中的相关定义. 建表: CREATE TABLE [ database_name.[owner]. | owner. ] table_name ( { | column_name AS computed_column_expression | } [,...n] ) [ON {filegroup | DEFAULT} ] [