【】…………………………………………………………………………………………>>> |
|
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
阅读:2903次 来源: |
|
|
|
|