精华内容
下载资源
问答
  • 来源:转载如果要删除数据表中所有数据只要遍历一下数据库再删除就可以了,清除所有数据我们可以使用搜索出所有表名,构造为一条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

    展开全文
  • SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 ...UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向数据库表中插入数据 SQL SELECT * 实例 现在我们希望从 “Perso

    SQL DML 和 DDL

    可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
    SQL (结构化查询语言)是用于执行查询的语法。
    但是 SQL 语言也包含用于更新、插入和删除记录的语法。

    查询和更新指令构成了 SQL 的 DML 部分:

    SELECT - 从数据库表中获取数据
    UPDATE - 更新数据库表中的数据
    DELETE - 从数据库表中删除数据
    INSERT INTO - 向数据库表中插入数据
    

    SQL SELECT * 实例

    现在我们希望从 “Persons” 表中选取所有的列。 请使用符号 * 取代列的名称,就像这样:

    SELECT * FROM Persons
    

    Update 语句

    Update 语句用于修改表中的数据。

    语法:
    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
    

    DELETE 语句

    DELETE 语句用于删除表中的行。

    //语法:
    DELETE FROM 表名称 WHERE 列名称 =

    INSERT INTO 语句

    INSERT INTO 语句用于向表格中插入新的行。

    //语法:
    INSERT INTO 表名称 VALUES (1,2,....)
    //我们也可以指定所要插入数据的列:
    INSERT INTO table_name (1,2,...) VALUES (1,2,....)
    
    展开全文
  • SQL语句删除数据库表中重复数据

    千次阅读 2016-03-23 10:22:05
     用SQL语句,删除掉重复项只保留一条 ...1、查找表中多余重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId
    
    用SQL语句,删除掉重复项只保留一条

    在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢
    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
    select * from people
    where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

    2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
    delete from people
    where   peopleName in (select peopleName    from people group by peopleName      having count(peopleName) > 1)
    and   peopleId not in (select min(peopleId) from people group by peopleName     having count(peopleName)>1)

    3、查找表中多余的重复记录(多个字段)
    select * from vitae a
    where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)

    4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
    delete from vitae a
    where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
    and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

    5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
    select * from vitae a
    where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
    and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)   

    6.消除一个字段的左边的第一位:

    update tableName set [Title]=Right([Title],(len([Title])-1)) where Title like '村%'

    7.消除一个字段的右边的第一位:

    update tableName set [Title]=left([Title],(len([Title])-1)) where Title like '%村'

    8.假删除表中多余的重复记录(多个字段),不包含rowid最小的记录
    update vitae set ispass=-1
    where peopleId in (select peopleId from vitae group by peopleId

    展开全文
  • <update id="truncate"> truncate table [表名] </update>
    <update id="truncate">
        	truncate table [表名]
    </update>

     

    展开全文
  • 如果要删除数据表中所有数据只要遍历一下数据库再删除就可以了,清除所有数据我们可以使用搜索出所有表名,构造为一条SQL语句进行清除了,这里我一一给各位同学介绍。 使用sql删除数据库中所有表是不难,就是...
  • 如果要删除数据表中所有数据只要遍历一下数据库再删除就可以了,清除所有数据我们可以使用搜索出所有表名,构造为一条SQL语句进行清除了,这里我一一给各位同学介绍。 使用sql删除数据库中所有表是不难,...
  • php除了删除文件目录不用用到mysql中的delete之外只要删除...但是常见和比较需要的是这么几个语句 DELETE FROM 语句用于从数据库表中删除记录语句:DELETE FROM table_name WHERE column_name = some_value解说:查询...
  • --选择需要删除的表 select table_name from user_tables --得到需要删除表的语句 select 'truncate table '||table_name||';' from user_tables --复制语句,执行删除
  • 快速删除数据库中所有表中的数据 原文:快速删除数据库中所有表中的数据select 'truncate table ' + Name + ';' from sysobjects where xtype='U' order by name asc; 该条语句执行之后会将数据库中...
  • 在Oracle数据库删除表中相同数据的方法是用到in语句,本文通过实例来讲解删除表中相同数据的方法。
  • 数据库删除表中数据

    千次阅读 2019-03-27 11:37:48
    数据库删除表中数据,如果直接清空数据,id自增长的话,再添加的数据会从清除之前的id继续自增长,想要删除数据,id 自增长仍然从1开始,如下操作: show create TABLE Analysis.ORDER_SUMM 执行以上语句结果如下:...
  • //执行sql语句删除表中数据,dbo.Grade string deleteSql = "TRUNCATE TABLE dbo.Grade";
  • 该条语句执行之后会将数据库中所有表都查询出来,复制出来之后执行truncate语句即可sysobjects在数据库内创建每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在tempdb内,每个临时对象...
  • 表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍。 一、delete语句 (1)有条件删除 语法格式:delete [from] table_name [where ...
  • SQL SERVER 2005中删除数据库中所有表的数据的SQL语句:EXECUTE sp_msforeachtable 'delete from ?'或者:EXECUTEsp_msforeachtable'truncatetable?' 转载于:...
  • 如果要删除数据表中所有数据只要遍历一下数据库再删除就可以了,清除所有数据我们可以使用搜索出所有表名,构造为一条SQL语句进行清除了,这里我一一给各位同学介绍。 使用sql删除数据库中所有表是不难,就是遍历...
  • UPDATE --更新数据库表中的数据 --数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图 DROP VIEW --从数据库中删除视图 ...
  • delete from [] where ID in( SELECT min(ID) -- FROM aaa group by 重复标识1, 重复标识2 having count(*)>1 )
  • 查询数据库中default_table表中的name字段为空的条件SELECT * from default_table WHERE name is null;删除数据库中default_table表的name字段为空的数据DELETE FROM default_table WHERE name is null; ...
  • 数据表中某些数据的修改 数据表或表内元素的删除 Hello,你好哇,我是灰小猿!一个超会写bug程序猿! 最近在进行SQL server数据库的相关学习,所以对该数据库的一些常用操作语句进行了些总结。在这里和小伙伴...
  • 修改表中的基本操作——表的结构DDL语句表中的基本操作:添加 在表的固定位置添加一个字段(表的某一列) alter table (表名) add (所要添加的字段) (该字段的数据类型) (约束条件) (位置); 在表中添加多...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,146
精华内容 2,458
关键字:

删除数据库表中的数据语句