当前位置: > 数据库 > SQL Server 2005 >

Sql Server2005里面获得数据库里面所有的表名称 和对应表的列名称

时间:2016-06-24 01:27来源:linux.it.net.cn 作者:IT
最近的测试中常常需要不断删除创建数据库,有时需要删除数据库中的表,但不能删除数据库,一个一个删除很是麻烦,最好能一次性获得全部的数据库表名称,然后删除,一下是一些有用的SQLSERVER2005的东西



0.  创建数据库

      CREATE DATABASE DB001

1.  创建用户

       CREATE LOGIN  USER1
      WITH PASSWORD = 'USER_PW';

2。 修改数据的所有者

      USE DB001
      exec sp_changedbowner 'USER1'

      GO



3. 设置READ_COMMITTED_SNAPSHOT

     ALTER DATABASE [DB001] SET READ_COMMITTED_SNAPSHOT ON
     GO

4.修改字符集

    ALTER DATABASE DB001  COLLATE SQL_Latin1_General_CP437_CS_AS
     GO

5. 获取所有数据库名:
        Select Name FROM Master..SysDatabases

6 . 获取所有表名:
  select name from sysobjects where type='U'
    XType='U':表示所有用户表;
     XType='S':表示所有系统表;

7. 获取所有字段名:
    Select Name from SysColumns Where id=Object_Id('TableName')



8. 查看与某一个表相关的视图、存储过程、函数

      select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%TableName%'





9.  查询某一个表的字段和数据类型

    select column_name,data_type from information_schema.columns
       where table_name = N'TableName'



10. 获取数据库文件路径

     select ltrim(rtrim(filename)) from   dbname ..sysfiles where charindex('MDF',filename)>0
     or
       select ltrim(rtrim(filename)) from dbname    ..sysfiles where charindex('LDF',filename)>0



(责任编辑:IT)
------分隔线----------------------------