精华内容
下载资源
问答
  • sql删除数据库中所有数据语句

    千次阅读 2021-02-04 16:23:31
    来源:转载如果要删除数据表中所有数据只要遍历一下数据库删除就可以了,清除所有数据我们可以使用搜索出所有表名,构造为一条SQL语句进行清除了,这里我一一给各位同学介绍。使用sql删除数据库中所有是不难的,...

    来源:转载

    如果要删除数据表中所有数据只要遍历一下数据库再删除就可以了,清除所有数据我们可以使用搜索出所有表名,构造为一条SQL语句进行清除了,这里我一一给各位同学介绍。

    使用sql删除数据库中所有表是不难的,就是遍历一下数据库中所有用户表,并将它清除,下边是具体的sql语句,在关键部分已经作了详细的注释:

    代码如下

    复制代码

    --变量@tablename保存表名

    declare @tablename nvarchar(100)

    --将用户表全部保存到临时表#tablename中

    SELECT [name] into #tablename FROM sysobjects

    WHERE type = 'U';

    --当#tablename有数据时

    while(select count(1) from #tablename)>0

    begin

    --从#tablename中取第一条

    select top 1 @tablename=[name] from #tablename;

    --进行表删除操作,表名为变量,所以此处用到动态sql

    exec('drop table '+@tablename);

    --将此表名记录从#tablename中删除

    delete from #tablename where [name]=@tablename;

    end

    --最后删除临时表#tablename

    drop table #tablename可见sql里没有使用游标,而是使用了临时表用来遍历,到这里就达到了使用sql清除数据库中所有表的目的。

    另一种办法

    展开全文
  • SQL删除表中数据语句

    千次阅读 2020-11-11 15:49:20
    如果你想从数据库删除记录,那么需要使用DELETE语句。DELETE语句的基本格式如下: DELETE FROM <表名> WHERE ...; 如果WHERE条件没有匹配到任何记录,DELETE语句不会报错,也不会有任何记录被删除。 ...

    如果你想从数据库删除记录,那么需要使用DELETE语句。DELETE语句的基本格式如下:

    DELETE FROM <表名> WHERE ...;

    如果WHERE条件没有匹配到任何记录,DELETE语句不会报错,也不会有任何记录被删除。

    可以看到显示没有任何一行记录被删除。

    最后,要特别小心的是,和UPDATE类似,不带WHERE条件的DELETE语句会删除整个表的数据:

    DELETE FROM students;
    

    这时,整个表的所有记录都会被删除。所以,在执行DELETE语句时也要非常小心,最好先用SELECT语句来测试WHERE条件是否筛选出了期望的记录集,然后再用DELETE删除。

    如果你真的需要删除整个表,不建议使用DELETE FROM 表名;的方式,这种方式删除表是非常原始的,使用DELETE FROM 表名;相当于逐条删除表中的数据,这样的效率过于低下。对于这种需要,我们可以使用下面的语句。

    TRUNCATE TABLE 表名;

    上面这条语句相当于先删除表,然后创建一张一样格式的表。效率会提高很多。相当于DROP TABLE之后,然后CREATE TABLE。

     

     

     

    展开全文
  • 删除数据库表数据SQL语句

    千次阅读 2019-01-11 14:50:21
    truncate table tbFolder

      truncate table tbFolder

    展开全文
  • 如果要删除数据表中所有数据只要遍历一下数据库删除就可以了,清除所有数据我们可以使用搜索出所有表名,构造为一条SQL语句进行清除了,这里我一一给各位同学介绍。 使用sql删除数据库中所有是不难的,...
    如果要删除数据表中所有数据只要遍历一下数据库再删除就可以了,清除所有数据我们可以使用搜索出所有表名,构造为一条SQL语句进行清除了,这里我一一给各位同学介绍。

    使用sql删除数据库中所有表是不难的,就是遍历一下数据库中所有用户表,并将它清除,下边是具体的sql语句,在关键部分已经作了详细的注释:

     代码如下 复制代码

    --变量@tablename保存表名
    declare @tablename nvarchar(100)

    --将用户表全部保存到临时表#tablename中
    SELECT [name] into #tablename FROM sysobjects
    WHERE type = 'U';

    --当#tablename有数据时
    while(select count(1) from #tablename)>0
    begin
    --从#tablename中取第一条
    select top 1 @tablename=[name] from #tablename;
    --进行表删除操作,表名为变量,所以此处用到动态sql
    exec('drop table '+@tablename);
    --将此表名记录从#tablename中删除
    delete from #tablename where [name]=@tablename;
    end

    --最后删除临时表#tablename

    drop table #tablename可见sql里没有使用游标,而是使用了临时表用来遍历,到这里就达到了使用sql清除数据库中所有表的目的。

    另一种办法

    方便删除数据库中所有的数据表,清空数据库,有些有约束,不能直接delete,需要先删除库中的约束,代码如下

     

     代码如下 复制代码
    --删除所有约束 
    DECLARE c1 cursor for 
    select'alter table ['+ object_name(parent_obj)+'] drop constraint ['+name+']; ' 
    from sysobjects 
    where xtype ='F' 
    open c1 
    declare @c1 varchar(8000) 
    fetch nextfrom c1 into@c1 
    while(@@fetch_status=0) 
    begin 
    exec(@c1) 
    fetch nextfrom c1 into@c1 
    end 
    close c1 
    deallocate c1 
    --删除数据库所有表 
    declare @tname varchar(8000) 
    set@tname='' 
    select@tname=@tname+Name+','from sysobjects where xtype='U' 
    select@tname='drop table '+ left(@tname,len(@tname)-1) 
    exec(@tname)

    然后清空数据库中的所有表: 
    如果需要删除存储过程等只需要将上面的做如下修改就行了的where xtype='U' 改成 where xtype='P',drop table 改成 drop Procedure


    附上清空数据表中所有数据


    清空所有数据.找到了三种方法进行清空.使用的数据库为MS SQL SERVER.
    1.搜索出所有表名,构造为一条SQL语句

     代码如下 复制代码

    declare @trun_name varchar(8000)
    set @trun_name=''
    select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from sysobjects where xtype='U' and status > 0
    exec (@trun_name)

    该方法适合表不是非常多的情况,否则表数量过多,超过字符串的长度,不能进行完全清理.
    2.利用游标清理所有表

     代码如下 复制代码

    declare @trun_name varchar(50)
    declare name_cursor cursor for
    select 'truncate table ' + name from sysobjects where xtype='U' and status > 0
    open name_cursor
    fetch next from name_cursor into @trun_name
    while @@FETCH_STATUS = 0
    begin
      exec (@trun_name)
     print 'truncated table ' + @trun_name
     fetch next from name_cursor into @trun_name
    end
    close name_cursor
    deallocate name_cursor

    这是我自己构造的,可以做为存储过程调用, 能够一次清空所有表的数据,并且还可以进行有选择的清空表.
    3.利用微软未公开的存储过程

     代码如下 复制代码

    exec sp_msforeachtable "truncate table ?"



    转载:http://www.111cn.net/database/mssqlserver/48639.htm

    我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSForEachTable存储过程

    Sql Server中清空所有数据表中的记录

    清空所有数据表中的记录:

    复制代码代码如下:
    exec sp_msforeachtable  @Command1 ='truncate table ?'

    删除所有数据表:

    复制代码代码如下:
    exec sp_msforeachtable 'delete   N''?'''

    清空SQL Server数据库中所有表数据的方法(有约束的情况)

    其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSForEachTable存储过程。

      也许很多读者朋友都经历过这样的事情:要在开发数据库基础上清理一个空库,但由于对数据库结构缺乏整体了解,在删除一个表的记录时,删除不了,因为可能有外键约束,一个常见的数据库结构是一个主表,一个子表,这种情况下一般都得先删除子表记录,再删除主表记录。

      说道删除数据记录,往往马上会想到的是delete和truncate语句,但在遇到在两个或多个表之间存在约束的话,这两个语句可能都会失效,而且最要命的是这两个命令都只能一次操作一个表。那么真正遇到要删除SQL Server数据库中所有记录时,该怎么办呢?有两个选择:

      1.按照先后顺序逐个删除,这个方法在表非常多的情况下显得很不现实,即便是表数量不多,但约束比较多时,你还是要花费大量的时间和精力去研究其间的约束关系,然后找出先删哪个表,再删哪个表,最后又删哪个表。

      2.禁用所有约束,删除所有数据,最后再启用约束,这样就不用花时间和精力去研究什么约束了,只需要编写一个简单的存储过程就可以自动完成这个任务。

    复制代码代码如下:

    CREATE PROCEDURE sp_DeleteAllData
    AS
    EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
    EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'
    EXEC sp_MSForEachTable 'DELETE FROM ?'
    EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
    EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'
    EXEC sp_MSFOREACHTABLE 'SELECT * FROM ?'
    GO 

    从这两个选择中不难看出第二个选择是最简单有效的了,那么在使用第二个选择时,具体该怎么实施呢?

      首先得编写代码循环检查所有的表,这里我推荐一个存储过程sp_MSForEachTable,因为在微软的官方文档中没有对这个存储过程有描述,很多开发人员也许都还未曾听说,所以你在互联网上搜索得到的解决办法大多很复杂,也许有的人会认为,既然没有官方文档,这个存储过程可能会不稳定,打心理上会排斥它,但事实并非如此。下面来先看一个完整的脚本:

      这个脚本创建了一个命名为sp_DeleteAllData的存储过程,前面两行语句分别禁用约束和触发器,第三条语句才是真正地删除所有数据,接下里的语句分别还原约束和触发器,最后一条语句是显示每个表中的记录,当然这条语句也可以不要,我只是想确认一下是否清空了所有表而已。

      你可以在任何数据库上运行这个存储过程,当然不要在生成数据库上运行,可别怪我没告诉你!不管怎样,还是先备份一下数据库,使用备份数据库还原,然后再运行该存储过程,呵呵,即使是一个大型数据库,也要不多长时间,你的数据库就成一个空库了

    第三种方法:TRUNCATE TABLE 

    在sql server数据库中快速删除记录,清空表若要删除表中的所有行,则 TRUNCATE TABLE 语句是一种快速、无日志记录的方法。TRUNCATE TABLE 与不含有 WHERE 子句的 DELETE 语句在功能上相同。但是,TRUNCATE TABLE 速度更快,并且使用更少的系统资源和事务日志资源。 

    与 DELETE 语句相比,TRUNCATE TABLE 具有以下优点: 

    所用的事务日志空间较少。 

    DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放用于存储表数据的数据页来删除数据,并且在事务日志中只记录页释放。 

    使用的锁通常较少。 

    当使用行锁执行 DELETE 语句时,将锁定表中各行以便删除。TRUNCATE TABLE 始终锁定表和页,而不是锁定各行。 

    如无例外,在表中不会留有任何页。 

    执行 DELETE 语句后,表仍会包含空页。例如,必须至少使用一个排他 (LCK_M_X) 表锁,才能释放堆中的空表。如果执行删除操作时没有使用表锁,表(堆)中将包含许多空页。对于索引,删除操作会留下一些空页,尽管这些页会通过后台清除进程迅速释放。 

    与 DELETE 语句相同,使用 TRUNCATE TABLE 清空的表的定义与其索引和其他关联对象一起保留在数据库中。

    转载:http://www.jb51.net/article/42239.htm

    展开全文
  • 表中数据不需要时,则应该删除数据并释放所占用的空间,删除表中数据可以使用Delete语句或者Truncate语句,下面分别介绍。 一、delete语句 (1)有条件删除 语法格式:delete [from] table_name [where ...
  • <update id="truncate"> truncate table [表名] </update>
  • 添加数据记录:sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)拓展:SQL常用命令使用方法:(1)...
  • 数据库操作表数据基本语句

    千次阅读 2019-05-19 23:11:21
    INSERT INTO 语句用于向表中插入新记录。 SQL INSERT INTO 语法: INSERT INTO 语句可以有两种编写形式。 第一种形式无需指定要插入数据的列名,只需提供被插入的值即可: INSERT INTO table_name(表名)VALUES ...
  • 删除表中数据(记录、行) DML :delete 能删除:0、1、n行 语法: delete from 表名 where记录匹配条件 如果不写where子句,会删除所有行 use student go create table test1( id int primary key, name varchar(30...
  • 创建数据库的SQL语句

    千次阅读 2021-01-21 18:11:05
    SQL常用语句:CREATE ...(1) 数据记录筛选:sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" ORDER BY 用于对结果集进行排序sql="select * from 数据表 where 字段名 like '%字段值%' ord...
  • 达梦数据库删除表重复数据

    千次阅读 2020-11-01 20:55:14
    我们在数据库运维环境有时会出现需删除表中重复数据的情况,比如说,导入时重复导入了,这时候我们怎么办?如何删除重复的数据,保证数据的正确性和完整性? 操作系统:中标麒麟6.0 数据库系统:DM8 我们先来...
  • mysql数据库删除一行数据

    千次阅读 2021-01-19 10:09:55
    [MySQL]命令行工具和基本操作原文:[MySQL]命令行工具和基本操作一 MySQL命令行工具 (查看帮助 ---help,或 -?)1)MySQLMySQL是一个简单的SQL外壳(有GNU readline...陈2014-02-24608浏览量mysql 数据导入导出数据的m...
  • 1. 在数据库中建立 CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `password` varchar(255) ...
  • 数据库基本操作,如表中数据的查询、插入、删除和修改等。数据操纵语言功能最强、使用最广,但语法也最复杂的语句是SELECT语句,其次还有INSERT、UPDATE、DELETE等语句。 1.3 事务控制语言(TCL) 事务操作,如...
  • 数据库删除表中数据

    千次阅读 2019-03-27 11:37:48
    数据库删除表中数据 数据库删除表中数据,如果直接清空数据,id自增长的话,再添加的数据会从清除之前的id继续自增长,想要删除数据,id 自增长仍然从1开始,如下操作: show create TABLE Analysis.ORDER_SUMM ...
  • 1,删除表 drop 1.1 执行drop table table_name 语句 ... 通过查询回收站user_recyclebin获取被删除信息,然后使用语句如下语句: flashback table user_recyclebin.object_name [...
  • 怎样用sql语言删除一行数据在SQL数据库中删除记录一般使用Delete语句,下面就将为您介绍SQL用于删除记录的DELETE语句的语法DELETE FROM 名称 WHERE 列名称 = 值①将数学系全体学生的成绩删除 。执行语句:操作...
  • Mysql数据库中sql语句-数据修改

    千次阅读 2019-03-14 21:53:36
    1.修改表名 alter table student rename students; 2.字段 column (1)添加字段 ...ALTER TABLE 表名 ADD COLUMN 字段名 字段类型;...alter table student add ...(2)删除字段 alter table student drop column...
  • MySQL数据库修改数据语句的简单用法

    千次阅读 2021-01-18 22:49:15
    1.insert语句MySQL的insert语句有两种方式:INSERT INTO tablename() VALUES(列值);INSERT INTO tablename SET column_name1 = value1, column_name2 = value2,…;例如:mysql> insert into t_player_vip(id,...
  • ** 使用T-SQL语句创建和删除数据库** 使用T-SQL语句创建“学生管理库”数据库删除数据库。要求“学生管理库”数据库的主数据文件名为:StudentDB.mdf,初始大小为5MB,最大为20MB,增长方式为10%;日志文件名为:...
  • mysql数据库之如何清空表中数据

    千次阅读 2021-01-18 18:24:47
    在做数据迁移,数据清洗或者写web项目时要将数据替换更新,那么有时要将做清空处理常用的清空数据表的SQL语句有如下两种delete from 表名;truncate table 表名;运行测试我使用的是MySql待测试的有20000条记录,...
  • 数据库中有时需要删除所有的或者所有的内容,本文主要介绍几种常见的操作及说明。
  • mysql数据库的增删改语句

    千次阅读 2021-01-19 16:53:55
    如果要插入内所有字段的数据,可以省略字段名的书写,但数据输入必须与表中字段顺序一致.例:insert into xsbvaluse('005','小王',18,'男');2.如果想要同时插入多条数据,如下:insert into xsb(xh,xm,x...
  • 数据库删除语句

    千次阅读 2017-06-16 11:13:32
    Delete :删除数据表中的行(可以删除某一行,也可以在不删除数据表的情况下删除所有行)。 删除某一行:Delete from 数据表名称 where 列名称=值; 删除所有行:Delete * from 数据表名称 Drop :删除数据表或...
  • sql删除数据库所有

    2014-06-12 14:28:53
    sql语句删除清空一个数据中,所有结构表数据,请谨慎操作
  • 如何使用sql语句对mysql数据库中表数据进行增删改 这里新创了一个school数据库,在下面创建一张名为student表,创建student表的sql语句代码如下: #使用school数据库 use school; #判断是否存在student表,如果...
  • 通过sql命令的方式生成所有的truncate语句并写入到.sql脚本文件,然后执行脚本即可完成删除操作,并且保留了结构。
  • 摘要:Delphi源码,数据库应用,删除数据表 与初学Delphi的朋友分享一个数据库操作小例子,利用SQL语句删除数据表的操作,请注意,删除数据表之前请做好备份工作,以免造成数据丢失或无法使用。删除操作之前,你需要将...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 628,322
精华内容 251,328
关键字:

数据库删除表中数据语句