主頁(yè) > 知識(shí)庫(kù) > sql 2000清空后讓表的id從1開(kāi)始等數(shù)據(jù)庫(kù)操作

sql 2000清空后讓表的id從1開(kāi)始等數(shù)據(jù)庫(kù)操作

熱門(mén)標(biāo)簽:威海智能語(yǔ)音外呼系統(tǒng) 400電話申請(qǐng)需要開(kāi)戶費(fèi)嗎 智能語(yǔ)音外呼系統(tǒng)哪個(gè)牌子好 南京電銷(xiāo)外呼系統(tǒng)運(yùn)營(yíng)商 西安青牛防封電銷(xiāo)卡 山西語(yǔ)音外呼系統(tǒng)價(jià)格 北京辦理400電話多少 溫州語(yǔ)音外呼系統(tǒng)代理 重慶防封電銷(xiāo)機(jī)器人供應(yīng)商
truncate table 表名 (
數(shù)據(jù)不可恢復(fù)性的刪除 truncate 標(biāo)識(shí)列會(huì)重排 )
LinqUtil.Db.ExecuteCommand("TRUNCATE TABLE warehousing"); //warehousing為表名,此種刪除效率更高,且會(huì)清空計(jì)數(shù)器,但是有外鍵的表則不能用,可以通過(guò)刪除外鍵后使用
LinqUtil.Db.ExecuteCommand("delete ioinfo"); //因?yàn)榇朔N刪除不能清空計(jì)數(shù)器,所以下面還的清空
LinqUtil.Db.ExecuteCommand("dbcc checkident(ioinfo,reseed,0)"); //清空計(jì)數(shù)器,ioinfo為表名
LinqUtil.Db.SubmitChanges();
清空表后執(zhí)行
DBCC CHECKIDENT(表名,reseed,起始值)
如:
你要把表 Employee 的ID清空后從1開(kāi)始
DBCC CHECKIDENT(Employee,reseed,0)--你添加了一條數(shù)據(jù),從起始值開(kāi)始加1
-------------------------------------------------------------------------------------
使用SQL語(yǔ)句清空數(shù)據(jù)庫(kù)所有表的數(shù)據(jù)
近來(lái)發(fā)現(xiàn)數(shù)據(jù)庫(kù)過(guò)大,空間不足,因此打算將數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行全面的清理,但表非常多,一張一張的清空,實(shí)在麻煩,因此就想利用SQL語(yǔ)句一次清空所有數(shù)據(jù).找到了三種方法進(jìn)行清空.使用的數(shù)據(jù)庫(kù)為MS SQL SERVER.

1.搜索出所有表名,構(gòu)造為一條SQL語(yǔ)句
復(fù)制代碼 代碼如下:

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)

該方法適合表不是非常多的情況,否則表數(shù)量過(guò)多,超過(guò)字符串的長(zhǎng)度,不能進(jìn)行完全清理.

2.利用游標(biāo)清理所有表
復(fù)制代碼 代碼如下:

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

這是我自己構(gòu)造的,可以做為存儲(chǔ)過(guò)程調(diào)用, 能夠一次清空所有表的數(shù)據(jù),并且還可以進(jìn)行有選擇的清空表.

3.利用微軟未公開(kāi)的存儲(chǔ)過(guò)程
exec sp_msforeachtable "truncate table ?"
該方法可以一次清空所有表,但不能加過(guò)濾條件.
-----------------------------------------------------------------------------
清空表sql語(yǔ)句
可以使用delete清空表
DELETE FROM t表名
也可以使用truncate命令
truncate table 表名
CREATE TABLE 表名 [表約束]
(列名1 數(shù)據(jù)類(lèi)型 [缺省值1,列約束1]
(列名2 數(shù)據(jù)類(lèi)型 [缺省值2,列約束2]

列名n 數(shù)據(jù)類(lèi)型 [缺省值n,列約束n]
[TABLESPACE 表空間名稱]
[STORAGE (存貯的子句)]
[ENABLE 約束名]
[DISABLE 約束名]
? 插入數(shù)據(jù)
INSERT INTO 表名[(列名1,…)]
VALUES(值1,值2,…,值n)
? 修改數(shù)據(jù)
UPDATE 表名SET 列名1=表達(dá)式1,列名2=表達(dá)式2,…
WHERE 條件;
? 刪除數(shù)據(jù)
刪除表中已有數(shù)據(jù),不能刪除不存在的數(shù)據(jù)。
語(yǔ)句句法:
DELETE FROM 表名 WHERE 條件;
? 表結(jié)構(gòu)的修改
在已存在的表中增加新列,語(yǔ)句句法:
ALTER TABLE 表名 ADD(新列名 數(shù)據(jù)類(lèi)型(長(zhǎng)度));
例如:
ALTER TABLE STUDENT ADD (DEPARTMENT CHAR(8));
b.增加已有列的數(shù)據(jù)類(lèi)型。
例如:
ALTER TABLE STUDENT MODIFY(NAME VARCHAR2(25));
? 表的刪除
將已經(jīng)存在的表刪除,語(yǔ)句句法:
DROP TABLE表名;
例如:
DROP TABLE EMP;
? 查詢語(yǔ)句
SELECT命令的語(yǔ)法為:
SELECT [DISTINCT|ALL] {*|模式名.] {表名|視圖名|
快照名] .*…| {表達(dá)式[列別名]…} } [, [模式名. ] {表名|
視圖名|} .*…| 表達(dá)式[列別名] ]…
FROM [模式名.] {表名|視圖名|快照名} [@數(shù)據(jù)庫(kù)鏈名] [表別名]
[, [模式名.] {表名|視圖名|快照名} [@數(shù)據(jù)庫(kù)鏈名]
[表別名] ]…
[WHERE條件]
[START WITH條件 CONNECT BY 條件]
[GROUP BY表達(dá)式[,表達(dá)式] …[HAVING條件]
[UNION|UNION ALL |INTERSECT|MINUS]SELECT命令
[ORDER BY{表達(dá)式|位置} [ASC|DESC] [, {表達(dá)式|位置[ASC|DESC]}]…]

標(biāo)簽:濟(jì)寧 金昌 新余 中衛(wèi) 宜春 河源 黃山 貸款群呼

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sql 2000清空后讓表的id從1開(kāi)始等數(shù)據(jù)庫(kù)操作》,本文關(guān)鍵詞  sql,2000,清空,后,讓,表,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《sql 2000清空后讓表的id從1開(kāi)始等數(shù)據(jù)庫(kù)操作》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于sql 2000清空后讓表的id從1開(kāi)始等數(shù)據(jù)庫(kù)操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章