|   
         
          | 【】…………………………………………………………………………………………>>> |   
          | 
 |  
         
          | 
              
                 
                  | MSSQL查看⼀个数据库中所有表的⾏数 |   
                  | 
 |   
                  | 一、MSSQL查看⼀个数据库中所有表的⾏数    SELECT   a.name, b.rows   
 FROM      sysobjects AS a INNER JOIN   
 sysindexes AS b ON a.id = b.id   
 WHERE   (a.type = ’u’) AND (b.indid IN (0, 1))   
 ORDER BY b.rows DESC   
 
 二、SQL Server,基本上现在仍有在使用的最古老的版本是SQL Server 2000(没有发现用7及以前的),从SQL Server 2000开始,到SQL Server 2005,2008,2012等,T-SQL的处理能力越来越强。如何使用T-SQL脚本来删除表、以及删除表中的数据呢?  
 
 删除表和删除表数据这是两回事!删除表表示不管表中有没有数据,将该数据库表彻底抹去,不留下任何东西。而删除表数据,只是删除表中的数据行,而表结果依然存在,还可以往表中插入新的数据。   
 
 删除表的T-SQL语句为:   
 drop table <表名>   
 drop是丢弃的意思,drop table表示将一个表彻底删除掉。   
 
 删除表数据有两种方法:delete和truncate。   
 
 delete的用法如下:   
 delete from <表名> [where条件]   
 
 truncate的用法如下:   
 truncate table <表名>   
 
 delete和truncate的区别如下:   
 1、delete可以删除表中的一条或多条数据,也可以删除全部数据;而truncate只能将表中的全部数据删除。   
 2、delete删除表数据后,标识字段不能复用。也就是说如果你把id=10(假如id是标识字段)的那行数据删除了,你也不可能再插入一条数据让id=10.   
 3、truncate删除表数据后,标识重新恢复初始状态。默认为初始值为1,也就是说,truncate之后,再插入一条数据,id=1.  
 
 
 三、MSSQL根据值查找表和字段   
 
 DECLARE @value  VARCHAR(1024)   
 set @value=’需要查找的字符串’ 
 SET NOCOUNT ON    
 DECLARE @sql VARCHAR(1024)   
 DECLARE @table VARCHAR(64)   
 DECLARE @column VARCHAR(64)   
 CREATE TABLE #t   
 (     
     tablename VARCHAR(64),   
     columnname VARCHAR(64)   
 )    
 DECLARE TABLES CURSOR FOR   
 SELECT o.name, c.name    
 FROM syscolumns c INNER JOIN sysobjects o ON c.id = o.id   
 WHERE o.type = ’U’ AND c.xtype IN (167, 175, 231, 239)   
 ORDER BY o.name, c.name   
 OPEN TABLES    
 FETCH NEXT FROM TABLES    
 INTO @table, @column    
 WHILE @@FETCH_STATUS = 0   
 BEGIN        
   SET @sql = ’IF EXISTS ( SELECT NULL FROM [’ + @table + ’] ’      
   SET @sql = @sql + ’WHERE RTRIM(LTRIM([’ + @column + ’])) LIKE ’’%’ + @value + ’%’) ’     
   SET @sql = @sql + ’INSERT INTO #t VALUES (’’’ + @table + ’’’, ’’’     
   SET @sql = @sql + @column + ’’’)’     
   EXEC(@sql)      
   FETCH NEXT FROM TABLES    
 INTO @table, @column   
 END    
 CLOSE TABLES   
 DEALLOCATE TABLES   
 SELECT *FROM #t   
 DROP TABLE #t     
 
 
 -  
 MySQL删除表数据 MySQL清空表命令 3种方法   
 1、MySQL清空表数据命令:truncate   
 SQL语法:   
 truncate table 表名   
 注意:   
 不能与where一起使用。   
 truncate删除数据后是不可以rollback的。   
 truncate删除数据后会重置Identity(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID数。   
 truncate删除数据后不写服务器log,整体删除速度快。   
 truncate删除数据后不激活trigger(触发器)。   
 2、MySQL删除表命令:drop   
 SQL语法:   
 drop table 表名   
 或者是   
 drop table if exists 表名   
 注意:   
 truncate只会清除表数据,drop不光清除表数据还要删除表结构。   
 3、MySQL清空数据表内容的语法:delete   
 SQL命令:   
 delete from 表名 where id=’1’   
 或   
 delete from 表名   
 注意:   
 delete含义:你要删除哪张表的数据 ?你要删掉哪些行 ?   
 delete可以删除一行,也可以删除多行;   
 如果不加where条件,则是删除表所有的数据,这是很危险的!不建议这样做!   
 总结:   
 1、当你不再需要该表时, 用 drop   
 2、当你仍要保留该表,但要删除所有数据表记录时, 用 truncate   
 3、当你要删除部分记录或者有可能会后悔的话, 用 delete。 
 |   
                  | 发布时间:2022/5/16 
                    阅读:4023次 来源: |   
                  |  |  
 |  |   |