如何理解sql 2000清空后让表的id从1开始等数据库操作

71次阅读
没有评论

共计 2404 个字符,预计需要花费 7 分钟才能阅读完成。

如何理解 sql 2000 清空后让表的 id 从 1 开始等数据库操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面丸趣 TV 小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

truncate table 表名(数据不可恢复性的删除 truncate 标识列会重排)LinqUtil.Db.ExecuteCommand(TRUNCATE TABLE warehousing //warehousing 为表名,此种删除效率更高,且会清空计数器,但是有外键的表则不能用,可以通过删除外键后使用 LinqUtil.Db.ExecuteCommand( delete ioinfo // 因为此种删除不能清空计数器,所以下面还的清空 LinqUtil.Db.ExecuteCommand( dbcc checkident(ioinfo,reseed,0) // 清空计数器,ioinfo 为表名 LinqUtil.Db.SubmitChanges(); 清空表后执行 DBCC CHECKIDENT( 表名,reseed, 起始值) 如: 你要把表 Employee 的 ID 清空后从 1 开始 DBCC CHECKIDENT(Employee,reseed,0)– 你添加了一条数据,从起始值开始加 1 ————————————————————————————- 使用 SQL 语句清空数据库所有表的数据 近来发现数据库过大, 空间不足, 因此打算将数据库的数据进行全面的清理, 但表非常多, 一张一张的清空, 实在麻烦, 因此就想利用 SQL 语句一次清空所有数据. 找到了三种方法进行清空. 使用的数据库为 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 ? 该方法可以一次清空所有表, 但不能加过滤条件. —————————————————————————– 清空表 sql 语句 可以使用 delete 清空表 DELETE FROM t 表名 也可以使用 truncate 命令 truncate table 表名 CREATE TABLE 表名 [表约束] (列名 1 数据类型 [ 缺省值 1,列约束 1] (列名 2 数据类型 [ 缺省值 2,列约束 2] … 列名 n 数据类型 [缺省值 n,列约束 n] [TABLESPACE 表空间名称] [STORAGE ( 存贮的子句)] [ENABLE 约束名] [DISABLE 约束名] ? 插入数据 INSERT INTO 表名 [(列名 1,…)] VALUES(值 1,值 2,…, 值 n) ? 修改数据 UPDATE 表名 SET 列名 1=表达式 1,列名 2=表达式 2,… WHERE 条件;? 删除数据 删除表中已有数据,不能删除不存在的数据。语句句法: DELETE FROM 表名 WHERE 条件;? 表结构的修改 在已存在的表中增加新列,语句句法:ALTER TABLE 表名 ADD(新列名 数据类型 ( 长度));例如:ALTER TABLE STUDENT ADD (DEPARTMENT CHAR(8)); b. 增加已有列的数据类型。例如:ALTER TABLE STUDENT MODIFY(NAME VARCHAR2(25)); ? 表的删除 将已经存在的表删除,语句句法: DROP TABLE 表名;例如:DROP TABLE EMP;? 查询语句 SELECT 命令的语法为:SELECT [DISTINCT|ALL] {*| 模式名.] {表名 | 视图名 | 快照名] .*…| {表达式 [ 列别名]…} } [, [ 模式名.] {表名 | 视图名 |} .*…| 表达式 [列别名] ]… FROM [模式名.] {表名 | 视图名 | 快照名} [@数据库链名] [表别名] [, [ 模式名.] {表名 | 视图名 | 快照名} [@数据库链名] [表别名] ]… [WHERE 条件] [START WITH 条件 CONNECT BY 条件] [GROUP BY 表达式 [,表达式] …[HAVING 条件] [UNION|UNION ALL |INTERSECT|MINUS]SELECT 命令 [ORDER BY{ 表达式 | 位置} [ASC|DESC] [, { 表达式 | 位置 [ASC|DESC]}]…]

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注丸趣 TV 行业资讯频道,感谢您对丸趣 TV 的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计2404字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)