truncate table 表名 (
數(shù)據(jù)不可恢復(fù)性的刪除 truncate 標識列會重排 )
LinqUtil.Db.ExecuteCommand("TRUNCATE TABLE warehousing"); //warehousing為表名,此種刪除效率更高,且會清空計數(shù)器,但是有外鍵的表則不能用,可以通過刪除外鍵后使用
LinqUtil.Db.ExecuteCommand("delete ioinfo"); //因為此種刪除不能清空計數(shù)器,所以下面還的清空
LinqUtil.Db.ExecuteCommand("dbcc checkident(ioinfo,reseed,0)"); //清空計數(shù)器,ioinfo為表名
LinqUtil.Db.SubmitChanges();
清空表后執(zhí)行
DBCC CHECKIDENT(表名,reseed,起始值)
如:
你要把表 Employee 的ID清空后從1開始
DBCC CHECKIDENT(Employee,reseed,0)--你添加了一條數(shù)據(jù),從起始值開始加1
-------------------------------------------------------------------------------------
使用SQL語句清空數(shù)據(jù)庫所有表的數(shù)據(jù)
近來發(fā)現(xiàn)數(shù)據(jù)庫過大,空間不足,因此打算將數(shù)據(jù)庫的數(shù)據(jù)進行全面的清理,但表非常多,一張一張的清空,實在麻煩,因此就想利用SQL語句一次清空所有數(shù)據(jù).找到了三種方法進行清空.使用的數(shù)據(jù)庫為MS SQL SERVER.
1.搜索出所有表名,構(gòu)造為一條SQL語句
復(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ù)量過多,超過字符串的長度,不能進行完全清理.
2.利用游標清理所有表
復(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)造的,可以做為存儲過程調(diào)用, 能夠一次清空所有表的數(shù)據(jù),并且還可以進行有選擇的清空表.
3.利用微軟未公開的存儲過程
exec sp_msforeachtable "truncate table "
該方法可以一次清空所有表,但不能加過濾條件.
-----------------------------------------------------------------------------
清空表sql語句
可以使用delete清空表
DELETE FROM t表名
也可以使用truncate命令
truncate table 表名
CREATE TABLE 表名 [表約束]
(列名1 數(shù)據(jù)類型 [缺省值1,列約束1]
(列名2 數(shù)據(jù)類型 [缺省值2,列約束2]
…
列名n 數(shù)據(jù)類型 [缺省值n,列約束n]
[TABLESPACE 表空間名稱]
[STORAGE (存貯的子句)]
[ENABLE 約束名]
[DISABLE 約束名]
插入數(shù)據(jù)
INSERT INTO 表名[(列名1,…)]
VALUES(值1,值2,…,值n)
修改數(shù)據(jù)
UPDATE 表名SET 列名1=表達式1,列名2=表達式2,…
WHERE 條件;
刪除數(shù)據(jù)
刪除表中已有數(shù)據(jù),不能刪除不存在的數(shù)據(jù)。
語句句法:
DELETE FROM 表名 WHERE 條件;
表結(jié)構(gòu)的修改
在已存在的表中增加新列,語句句法:
ALTER TABLE 表名 ADD(新列名 數(shù)據(jù)類型(長度));
例如:
ALTER TABLE STUDENT ADD (DEPARTMENT CHAR(8));
b.增加已有列的數(shù)據(jù)類型。
例如:
ALTER TABLE STUDENT MODIFY(NAME VARCHAR2(25));
表的刪除
將已經(jīng)存在的表刪除,語句句法:
DROP TABLE表名;
例如:
DROP TABLE EMP;
查詢語句
SELECT命令的語法為:
SELECT [DISTINCT|ALL] {*|模式名.] {表名|視圖名|
快照名] .*…| {表達式[列別名]…} } [, [模式名. ] {表名|
視圖名|} .*…| 表達式[列別名] ]…
FROM [模式名.] {表名|視圖名|快照名} [@數(shù)據(jù)庫鏈名] [表別名]
[, [模式名.] {表名|視圖名|快照名} [@數(shù)據(jù)庫鏈名]
[表別名] ]…
[WHERE條件]
[START WITH條件 CONNECT BY 條件]
[GROUP BY表達式[,表達式] …[HAVING條件]
[UNION|UNION ALL |INTERSECT|MINUS]SELECT命令
[ORDER BY{表達式|位置} [ASC|DESC] [, {表達式|位置[ASC|DESC]}]…]