首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在除一个表之外的语句中从sql server 2005中的数据库中删除所有表

在SQL Server 2005中,要删除除指定表之外的所有表,可以使用以下步骤:

  1. 首先,查询数据库中所有表的名称,并将结果存储在一个表变量中。
代码语言:sql
复制
DECLARE @tables TABLE (table_name NVARCHAR(128))

INSERT INTO @tables
SELECT name
FROM sys.tables
  1. 然后,从表变量中删除要保留的表名称。
代码语言:sql
复制
DELETE FROM @tables
WHERE table_name = '保留的表名'
  1. 最后,使用循环遍历表变量中的每个表名称,并删除相应的表。
代码语言:sql
复制
DECLARE @table_name NVARCHAR(128)

WHILE (SELECT COUNT(*) FROM @tables) > 0
BEGIN
    SELECT TOP 1 @table_name = table_name FROM @tables

    EXEC('DROP TABLE ' + @table_name)

    DELETE FROM @tables
    WHERE table_name = @table_name
END

这样,除了指定的表之外的所有表都将被删除。请注意,这个操作是不可逆的,所以在执行之前请确保已经备份了数据库。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【MySQL 系列】MySQL 语句篇_DCL 语句

例如:如果尝试数据库查询数据行或数据库删除,服务器将验证该用户否具有该 SELECT 权限或数据库 DROP 权限。...语句 mysql 数据库 user 查询所有的用户: SELECT user, host FROM mysql.user; 2.8、用户授权 当您创建了一个新用户之后,这个新用户可以登录...3、MySQL 提供了哪些权限 MySQL 提供权限列表如下所示(其中,All 或者 All privileges 代表权限列表 Grant option 权限之外所有权限)。...Delete:该权限用于数据库删除数据记录。 Drop:该权限用于删除现有库、、视图等对象。...全局级别权限,拥有该权限用户可以登录到数据库服务器,但在默认配置下能够执行部分show命令之外,其他任何数据变更和数据库查询操作都无法执行。

16510

SQL语言快速入门

按照ANSI(美国国家标准协会)规定,SQL被作为关系型数据库管理系统标准语言。SQL语句可以用来执行各种各样操作,例如更新数据库数据,数据库中提取数据等。...目前,绝大多数流行关系型数据库管理系统,Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。...下面,我们就来详细介绍一下SQL语言基本知识。 数据库表格 一个典型关系型数据库通常由一个或多个被称作表格对象组成。数据库所有数据或信息都被保存在这些数据库表格。...unique之外,较为常用限制条件还包括not null和primary key等。Not null用来规定表格某一列值不能为空。...注意,如果用户在使用delete语句时不设定where从句,则表格所有记录将全部被删除删除数据库表格 在SQL语言中使用drop table命令删除某个表格以及该表格所有记录。

1.9K20
  • 这是我见过最有用Mysql面试题,面试了无数公司总结(内附答案)

    CREATE:创建数据库数据库对象 ALTER:更改现有的数据库对象 DROP:删除数据库数据库对象 TRUNCATE:删除所有记录,但不删除数据库结构 RENAME:重命名数据库对象 ‍...外部联接:外部联接两个返回行,这些行包括与一个或两个不匹配记录。 36.什么是SQL约束? SQL约束是在数据库插入,删除或更新数据时实施一些约束一组规则。 37....在SQL Server数据库每一列都有一个名称和一种数据类型。 在创建SQL时,我们需要决定在每一列存储哪种数据类型。 57.可以在BOOLEAN数据字段存储哪些可能值?...Delete和Truncate之间区别是 删除 截短 Delete语句用于删除行。可以回滚。 Truncate语句用于删除所有行并释放包含空间。它不能回滚。...SQL SELECT语句顺序如下 选择,,在哪里,分组依据,拥有,订购依据。 89.如何在SQL显示当前日期? 在SQL,有一个名为GetDate()内置函数,该函数有助于返回当前日期。

    27.1K20

    SQL基础查询方法

    客户端或基于中间层应用程序( Microsoft Visual Basic 应用程序)可将 SQL Server 数据映射到绑定控件(网格)。...SELECT 语句 SQL Server 检索出数据,然后以一个或多个结果集形式将其返回给用户。结果集是对来自 SELECT 语句数据表格排列。与 SQL 表相同,结果集由行和列组成。...这些来源可以是: 运行 SQL Server 本地服务器。 本地 SQL Server 实例视图。SQL Server 在内部将一个视图引用按照组成该视图基表解析为多个引用。 链接。...Transact-SQL 具有扩展功能,支持在 FROM 子句中指定或视图之外其他对象。这些对象返回结果集,也就是 OLE DB 术语中所说行集,该结果集构成了虚拟。... SQL Server 2005 开始,SQL Server 允许在 FROM 子句中指定对 SELECT 列表未指定列进行排序。

    4.3K10

    MySQL权限详解

    (其中,All或者Allprivileges代表权限列表Grant option权限之外所有权限)。...授权范围可以是某数据库或某数据库所有对象,也可以是所有数据库(可以使用*....● Delete:该权限用于数据库删除数据记录。 ● Delete:该权限用于数据库删除数据记录。 ● Drop:该权限用于删除现有库、、视图等对象。...● Select:该权限用于数据库查询数据行记录。使用SELECT语句只有实际检索行记录时才需要Select权限。...全局级别权限,拥有该权限用户可以登录到数据库服务器,但在默认配置下能够执行部分show命令之外,其他任何数据变更和数据库查询操作都无法执行。

    4.3K30

    sqlserver创建视图索引「建议收藏」

    有关 OPTION (EXPAND VIEWS) 提示详细信息,请参阅 SELECT (Transact-SQL)。 若删除视图,该视图所有索引也将被删除。...其他要求 对 SET 选项和确定性函数要求外,还必须满足下列要求: 执行 CREATE INDEX 用户必须是视图所有者。...–对 sys.syscomments 包含 CREATE VIEW 语句文本项进行加密。 使用 WITH ENCRYPTION 可防止在 SQL Server 复制过程中发布视图。...所有被引用对象都必须在同一个数据库内。 –不能删除参与了使用 SCHEMABINDING 子句创建视图视图或,除非该视图已被删除或更改而不再具有架构绑定。 否则, 数据库引擎将引发错误。...所有被引用对象都必须在同一个数据库内。 --不能删除参与了使用 SCHEMABINDING 子句创建视图视图或,除非该视图已被删除或更改而不再具有架构绑定。 否则, 数据库引擎将引发错误。

    3.4K20

    T-SQL进阶:超越基础 Level 2:编写子查询

    进阶系列,其涵盖了更多高级方面的T-SQL语言,子查询。...而不是创建自己测试数据,我所有示例都将使用AdventureWorks2008R2数据库。...为了演示如何在选择列表中使用子查询,我们假设我们必须具有以下业务需求SELECT语句生成一个结果集: 返回所有Sales.SalesOrderHeader记录有什么有OrderDate等于“2007...子查询是嵌入在清单1句中SELECT语句,它在它周围有括号。 我已经删除了子查询语句,并将其放在清单2,以防您想要测试以验证它可以独立于完整Transact-SQL语句运行。...清单7查询显示了我如何在FROM子句中使用子查询。 当在FROM子句中使用子查询时,从子查询生成结果集通常称为派生

    6K10

    sql server 2008 数据库完整性约束

    (2)添加到尚没有PRIMARY KEY约束一个只能有一个PRIMARY KEY约束)。 (3)如果已有PRIMARY KEY约束,则可对其进行修改或删除。...(4)创建时指定主键,sql server会自动创建一个名为“PK_”且后跟主键索引。如果不指定索引类型,则默认为聚集索引。该索引只能在删除与它保持联系或主键约束时才能删除。...(2)FOREIGN KEY约束只能参照同一个数据库,而不能参照其他数据库。 (3)FOREIGN KEY子句中列数目和每个列指定数据类型必须和REFERENCES子句中列相同。...(2)对于UNIQUE约束列,不允许有两行包含相同非空值。 (3)SQL Server创建了UNIQUE约束后会自动创建UNIQUE索引来强制UNIQUE约束唯一性要求。...(4)如果插入重复行,SQL Server将返回错误信息。 (5)向现有列添加UNIQUE约束时,默认情况下SQL Server 2008检查列现有数据确保NULL外所有值均唯一。

    2.3K40

    DECLARE在SQL用法及相关等等

    DEFAULT 定义可适用于定义为 timestamp 或带 IDENTITY 属性列以外任何列。删除时,将删除 DEFAULT 定义。...只有常量值(字符串)、系统函数( SYSTEM_USER())或 NULL 可用作默认参数。为了与 SQL Server 早期版本兼容,可以为 DEFAULT 分配约束名称。...constant_expression 用作列默认值常量、NULL 或系统函数。 IDENTITY 指示新列是标识列。在添加新行时,SQL Server 将为列提供一个唯一增量值。...在所有上述语句中,如果存在被引用游标变量,但是不具有当前分配给它游标,那么 SQL Server 将引发错误。...声明一个类型变量 下例将创建一个 table 变量,用于储存 UPDATE 语句 OUTPUT 子句中指定值。

    2.9K20

    经典SQL 语句大全

    但是在这里我们选择运行"SQL SERVER 2000"数据库服务器 (5)单击[下一步]系统就弹出一个定义文章对话框也就是选择要出版 注意: 如果前面选择了事务发布 则再这一步只能选择带有主键...FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示符合条件所有行或删除其中重复数据行,默认为ALL。...因此,要定义列标题必须在第一个查询 句中定义。要对联合查询结果排序时,也必须使用第一查询语句中列名、列标题或者列序号。...在关系数据库管理系统建立时各数据之间关系不必确定,常把一个实体所有信息存放在 一个。当检索数据时,通过连接操作查询出存放在多个不同实体信息。...因此,要定义列标题必须在第一个查询 句中定义。要对联合查询结果排序时,也必须使用第一查询语句中列名、列标题或者列序号。

    1.8K10

    关系型数据库 MySQL 你不知道 28 个小技巧

    修改配置文件 default-character-set 和 character-set-server 参数值,将其改为想要字 符集名称, gbk、gb2312、latinl 等,修改完之后重新启动...在前面章节可以看到,所有的 UPDATE 和 DELETE 语句全都在 WHERE 子句中指定了条 件。如果省略 WHERE 子句,则 UPDATE 或 DELETE 将被应用到所有的行。...函数可以嵌入在 SQL句中使用,可以在 SELECT 语句中作为查询语句一个部分调用;而存储过程一般是作为一个独立部分来执行。 14、存储过程代码可以改变吗?...(5)视图是查看数据一种方法,可以查询数据某些字段构成数据,只是一些SQL 语句集合。安全角度来说,视图可以防止用户接触数据,因而用户不知道结构。...mysqldump 备份文本文件实际是数据库一个副本,使用该文件不仅可以在 MySQL 恢 复数据库,而且通过对该文件简单修改,可以使用该文件在 SQL Server 或者 Sybase 等其他数

    1.7K40

    经典sql server基础语句大全

    但是在这里我们选择运行"SQL SERVER 2000"数据库服务器 (5)单击[下一步]系统就弹出一个定义文章对话框也就是选择要出版 注意: 如果前面选择了事务发布 则再这一步只能选择带有主键...testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示符合条件所有行或删除其中重复数据行,默认为ALL。...因此,要定义列标题必须在第一个查询 句中定义。要对联合查询结果排序时,也必须使用第一查询语句中列名、列标题或者列序号。...testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示符合条件所有行或删除其中重复数据行,默认 为ALL。...因此,要定义列标题必须在第一个查询 句中定义。要对联合查询结果排序时,也必须使用第一查询语句中列名、列标题或者列序号。

    2.7K20

    sql 复习练习

    但是在这里我们选择运行"SQL SERVER 2000"数据库服务器 (5)单击[下一步]系统就弹出一个定义文章对话框也就是选择要出版 注意: 如果前面选择了事务发布 则再这一步只能选择带有主键...testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示符合条件所有行或删除其中重复数据行,默认为ALL。...因此,要定义列标题必须在第一个查询 句中定义。要对联合查询结果排序时,也必须使用第一查询语句中列名、列标题或者列序号。...testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示符合条件所有行或删除其中重复数据行,默认 为ALL。...因此,要定义列标题必须在第一个查询 句中定义。要对联合查询结果排序时,也必须使用第一查询语句中列名、列标题或者列序号。

    2.1K60

    优化数据库方法及SQL语句优化原则

    (可以用SybaseSQL Expert,可惜我没找到unexpired序列号) 5、清理删除日志。...索引虽有助于提高性能但不是索引越多越好,恰好相反过多索引会导致系统低效。用户在每加进一个索引,维护索引集合就要做相应更新工作。...任何在where子句中使用is null或is not null语句优化器是不允许使用索引。 ◆3、IN和EXISTS EXISTS要远比IN效率高。...◆5、当在SQL SERVER 2000,如果存储过程只有一个参数,并且是OUTPUT类型,必须在调用这个存储过程时候给这个参数一个初始值,否则会出现调用错误。...总结: 优化就是WHERE子句利用了索引,不可优化即发生了扫描或额外开销。经验证,SQL Server性能最大改进得益于逻辑数据库设计、 索引设计和查询设计方面。

    1K20

    技术阅读-《MySQL 必知必会》

    保存有组织数据容器 数据库软件 DBMS 常常被错误认为这就是数据库一个能存放数据,并且检索地方,类比现实存放货物仓库,这些货物就是数据。 什么是? 某种特定类型数据结构化文件。...查看数据库,,字段信息 使用 SHOW 关键字 查看所有数据库 SHOW DATABASES 查看一个数据库所有 SHOW TABLES 查看一个所有列字段 SHOW COLUMNS FROM...除此之外,处理聚集计算语句之外,SELECT语句中每个列都必须在GROUP BY 句中给出,否则会报错。...笛卡尔积 两个没有联结条件返回结果, 检索出数目将是第一个行数乘 以第二个行数。...第十六章 高级联结 SQL 允许给字段,列名起别名之外,还允许给名起别名,这样可以进一步简化SQL 语句,当 SELECT 语句不止一次引用相同时尤为有用。

    4.6K20

    MySQL查询重写插件

    MySQL查询重写插件 查询重写插件 MySQL 5.7.6开始,MySQL Server支持查询重写插件,可以在服务器执行之前检查并可能修改服务器接收语句。...可以发现,在数据库多增加了一个库query_rewrite,查看该数据库: ? 查看插件当前是否安装: ?...表示匹配数据值。 pattern_database: 该数据库用于匹配语句中非限定名。...如果相应数据库名相同,则语句中限定名与模式限定名匹配;当默认数据库pattern_database与名相同且语句名相同时,语句中非限定名才匹配模式非限定名称 。...此列可以在不删除规则情况下停用规则:将列设置为YES之外值 ,然后将重新加载到插件。 message: 该插件使用此列与用户进行通信。

    2.6K30

    转载数据仓库建设规范2 数据库对象命名规范3   主机目录及文件命名规范4   数据保存周期规范5   数据库编程规范6   JAVA编码规范7   shell编码规范8   完整规范文档结构

    汇总类型 [_汇总类型][_存储类型] 适用范围:字典、日志之外对象。...描述 汇总类型 日 DAY 月 MON 年 YEAR 2.2.5 存储类型 [_汇总类型][_存储类型] 适用范围:所有用户层日志、字典、维之外对象...2.2.5.2 月以统计周期字段做月分区。该字段外,其余字段与日表必须相同。数据保留周期为业务需要周期。所有的月报表、月KPI数据必须月表出,禁止日表出。...当一个SQL句中涉及到多个时,必须使用别名来限定字段名,这使其它人阅读起来更方便,避免了含议模糊引用,其中能够别名清晰地判断出名。...避免在一行代码或表达式中间插入注释。 所有硬编码必须加注释, id='0' 则需要优先注释 '0'含义, 或者在注释说明对应字典

    99521

    SQL Server 2012学习笔记 (三) ----- SQL Server SQL语句

    在很多情况下,可以用CREATE TABLE语句创建数据、使用ALTER TABLE语句修改结构、使用DROP TABLE语句删除;   可以使用CREATE DATABASE创建数据库、ALTER...DATABASE修改文件或文件组、DROP DATABASE语句删除数据库; 1、数据定义语句(DDL) 创建——CREATE 删除——DROP 修改——ALTER 2、数据操作语句(DML...SQL Server并得以执行一条或多条T-SQL语句。...某些特殊SQL指令不能和别的SQL语句共存在一个批处理CREATE TABLE和CREATE VIEW语句。这些语句只能独自存在于一个单独存储过程。   ...批处理必须以 CREATE 语句开头,所有跟在该批处理后其他语句将被解释为第一个 CREATE 语句定义一部分。   不能在删除一个对象之后,在同一批处理再次引用这个对象。

    6.4K20

    告诉你38个MySQL数据库小技巧!

    Archive存储引擎非常适合存储归档数据,记录日志信 息可以使用Archive引擎。 使用哪一种引擎要根据需要灵活选择,一个数据库多个可以使用不同引擎以满足各种性能和实际需求。...在前面章节可以看到,所有的UPDATE和DELETE语句全都在WHERE子句中指定了条 件。如果省略WHERE子句,则UPDATE或DELETE将被应用到所有的行。...函数可以嵌入在SQL句中使用,可以在SELECT语句中作为查询语句一个部分调用;而存储过程一般是作为一个独立部分来执行。 24、存储过程代码可以改变吗?...(5)视图是查看数据一种方法,可以查询数据某些字段构成数据,只是一些SQL 语句集合。安全角度来说,视图可以防止用户接触数据,因而用户不知道结构。...mysqldump备份文本文件实际是数据库一个副本,使用该文件不仅可以在MySQL恢 复数据库,而且通过对该文件简单修改,可以使用该文件在SQL Server或者Sybase等其他数 据库恢复数据库

    2.6K10

    告诉你 38 个 MySQL 数据库小技巧!

    Archive 存储引擎非常适合存储归档数据,记录日志信息可以使用 Archive 引擎。 使用哪一种引擎要根据需要灵活选择,一个数据库多个可以使用不同引擎以满足各种性能和实际需求。...在前面章节可以看到,所有的 UPDATE 和 DELETE 语句全都在 WHERE 子句中指定了条 件。如果省略WHERE子句,则 UPDATE 或 DELETE 将被应用到所有的行。...函数可以嵌入在 SQL句中使用,可以在 SELECT 语句中作为查询语句一个部分调用;而存储过程一般是作为一个独立部分来执行。 24 存储过程代码可以改变吗?...(5)视图是查看数据一种方法,可以查询数据某些字段构成数据,只是一些 SQL 语句集合。安全角度来说,视图可以防止用户接触数据,因而用户不知道结构。...可以使用该文件在 SQL Server 或者 Sybase 等其他数据库恢复数据库

    2.6K40
    领券