sql刪除資料庫表數據
1. SQL刪除資料庫中的所有數據
刪除資料庫的所有數據,因為數據之間可能形成相互約束關系,刪除操作可能陷入死循環,因此可使用微軟未正式公開的sp_MSForEachTable存儲過程
sp_MSForEachTable參數說明:
@command1 nvarchar(2000), --第一條運行的SQL指令
@replacechar nchar(1) = N'?', --指定的佔位符號
@command2 nvarchar(2000)= null, --第二條運行的SQL指令
@command3 nvarchar(2000)= null, --第三條運行的SQL指令
@whereand nvarchar(2000)= null, --可選條件來選擇表
@precommand nvarchar(2000)= null, --執行指令前的操作(類似控制項的觸發前的操作)
@postcommand nvarchar(2000)= null --執行指令後的操作(類似控制項的觸發後的操作)
--刪除當前資料庫所有表中的數據
sp_MSforeachtable @command1='Delete from ?'
sp_MSforeachtable @command1 = "TRUNCATE TABLE ?"
2. SQL中刪除表中的內容
(1)如果想清空表裡面的內容可以使用:delete from KF;
(2)如果是想刪除整個表可以使用:drop table KF。
SQL中刪除表中的所有數據的方法:
1、TRUNCATE TABLE 刪除表中的所有行,而不記錄單個行刪除操作。
(1)語法:TRUNCATE TABLE name;
(2)參數 name 是要截斷的表的名稱或要刪除其全部行的表的名稱。
2、DELETE語句,屬於計算機軟體領域,是編程中實現刪除功能的命令。
(1)DELETE語句:用於創建一個刪除查詢,可從列在 FROM 子句之中的一個或多個表中刪除記錄,且該子句滿足 WHERE 子句中的條件,可以使用DELETE刪除多個記錄。
(2)語法:DELETE [table.*] FROM table WHERE criteria;
(3)說明:table參數用於指定從其中刪除記錄的表的名稱。
(4)criteria參數為一個表達式,用於指定哪些記錄應該被刪除的表達式。
(5)可以使用 Execute 方法與一個 DROP 語句從資料庫中放棄整個表。不過,若用這種方法刪除表,將會失去表的結構。不同的是當使用 DELETE,只有數據會被刪除;表的結構以及表的所有屬性仍然保留,例如欄位屬性及索引。
(2)sql刪除資料庫表數據擴展閱讀:
1、SQL 的支持標准:
(1)SQL 是1986年10 月由美國國家標准局(ANSI)通過的資料庫語言美國標准,接著,國際標准化組織(ISO)頒布了SQL正式國際標准。
(2)1989年4月,ISO提出了具有完整性特徵的SQL89標准,1992年11月又公布了SQL92標准,在此標准中,把資料庫分為三個級別:基本集、標准集和完全集。
2、資料庫對象——表格:
(1)資料庫中的表與我們日常生活中使用的表格類似,它也是由行(Row) 和列(Column)組成的。列由同類的信息組成,每列又稱為一個欄位,每列的標題稱為欄位名。
(2)行包括了若干列信息項。一行數據稱為一個或一條記錄,它表達有一定意義的信息組合。一個資料庫表由一條或多條記錄組成,沒有記錄的表稱為空表。每個表中通常都有一個主關鍵字,用於唯一地確定一條記錄。
參考資料來源:
網路-結構化查詢語言
網路-DELETE語句
網路-資料庫對象
3. sql怎麼刪除表中一行數據
首先你要確定能夠唯一確定你那一行數據的欄位或欄位組合是哪些,
DELETE
FROM
表名
WHERE
欄位1
=
『』
and
欄位2
=
『』
and
...
欄位1,...為能夠唯一確定某一行數據的欄位組合,『』中填寫你要刪除的欄位具體值就可以了
如果有主鍵,則直接利用主鍵確定某一行就可以了。
DELETE
FROM
表名
WHERE
主鍵
=
『具體值』
4. 將SQL一個資料庫中所有的表中的數據刪除
use
資料庫名
exec
sp_msforeachtable
"drop
table
?"
--這個操來作比較危險,刪除自該資料庫下的所有表。不知道是不是你要的結果
如果是只刪除數據的話
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
exec
sp_DeleteAllData
5. sql怎麼刪除表中一行數據
首先你要確定能夠唯一確定你那一行數據的欄位或欄位組合是哪些,DELETE FROM 表名 WHERE 欄位1 = 『』 and 欄位2 = 」,為能夠唯一確定某一行數據的欄位組合,『』中填寫你要刪除的欄位具體值就可以了,如果有主鍵,則直接利用主鍵確定某一行就可以了。DELETE FROM 表名 WHERE 主鍵 = 『具體值』。
6. 如何清除SQL資料庫中的數據
方法一:Delete Form 表名
方法二:TRUNCATE TABLE
在功能上與不帶 WHERE 子句的 DELETE 語句相同:二者均刪除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統和事務日誌資源少。
DELETE 語句每次刪除一行,並在事務日誌中為所刪除的每行記錄一項。TRUNCATE TABLE 通過釋放存儲表數據所用的數據頁來刪除數據,並且只在事務日誌中記錄頁的釋放。
TRUNCATE TABLE 刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用的計數值重置為該列的種子。如果想保留標識計數值,請改用 DELETE。如果要刪除表定義及其數據,請使用 DROP TABLE 語句。
對於由 FOREIGN KEY 約束引用的表,不能使用 TRUNCATE TABLE,而應使用不帶 WHERE 子句的 DELETE 語句。由於 TRUNCATE TABLE 不記錄在日誌中,所以它不能激活觸發器。
TRUNCATE TABLE 不能用於參與了索引視圖的表。
貼過來的,但是很全面
一般就是DLEETE from 表
7. sql刪除資料庫數據表
ACCESS 用 SQL語句 刪除 數據表;
假設 數據表名 是 「工資表」,用SQL語句 刪除「工資表」可專執行下面兩屬行語句:
SQL = "Drop table 工資表"
DoCmd.RunSQL SQL
當然,也可以用 DAO 刪除數據表,語句如下:
CurrentDb.TableDefs.Delete "工資表"
8. sql刪除資料庫所有表
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 ?"