關于SQL數據庫的清空問題1\怎么用命令,或簡單的操作能清空整個 -
1、可以使用圖形化界面刪除數據庫及相關對象,如SQL SERVER的企業管理器等。
2、如果使用SQL命令刪除整個數據庫:drop database 數據庫名 當前正在使用的數據庫不可以刪除。 3、如果刪除數據庫中的對象,可以如下操作,以刪除所有用戶表為例,下面語句得到刪除所有用戶表的語法: select 'drop table '+ name from sysobjects where type = 'U'; 其中type的值一般可以取系統表(S),用戶表(U),視圖(V),觸發器(TR)等等,其余的以此類推。
4、數據庫的系統表sysobjects存儲了所有表及其它對象(當然相關系統表還有不少),可以使用下面語句查看: select name,id,uid,type,userstat,sysstat,indexdel,crdate,deltrig,instrig,updtrig,seltrig,cache from sysobjects; 上面所選列是SYBASE和SQL SERVER在sysobjects表中都有的列。
請教一條清空數據庫所有表中的數據的SQL語句
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_DeleteAllData
這個腳本創建了一個命名為sp_DeleteAllData的存儲過程,前面兩行語句分別禁用約束和觸發器,第三條語句才是真正地刪除所有數據,接下里的語句分別還原約束和觸發器,最后一條語句是顯示每個表中的記錄,當然這條語句也可以不要,我只是想確認一下是否清空了所有表而已。
SQL數據庫刪除語句
--刪除訂單明細
delete 表3 where 訂單明細號 in(select a.訂單明細號 from 表2 a inner join 表1 b on a.訂單號=b.訂單號 where b.渠道='一店');
--刪除訂單與訂單明細關系表
deltete 表2 where 訂單號 in(select 訂單號 from 表1 where 渠道='一店');
--刪除訂單
delete 表1 where 渠道='一店';
如何用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