如何获得数据库里所有表的名字

简介: 如何获得数据库里所有表的名字   由SQL Server管理的每个数据库里都有一个名为sysobjects的视图,它是system级别的, 所以它的全限定名是——sys.sysobjects  这张表里存储的不光是数据库里的表,它存储的是 一个数据库中所有的“对象”——包括了表的主键、存储过程、...

如何获得数据库里所有表的名字
   由SQL Server管理的每个数据库里都有一个名为sysobjects的视图,它是system级别的,

所以它的全限定名是——sys.sysobjects  这张表里存储的不光是数据库里的表,它存储的是

一个数据库中所有的“对象”——包括了表的主键、存储过程、触发器等等,一共是24种——表

(Table,确切地说是“用户自定义表”)只是这24种对象中的一种:
执行下面的查询语句,可以得到所有包含在sys.sysobjects视图里的数据

   SELECT * FROM sys.sysobjects


得出数据后,注意名为type的列——这一列标明了对象的类型,也就是前面提到的24种。

  type
  AF = Aggregate function (CLR) 
  C = CHECK constraint 
  D = DEFAULT (constraint or stand-alone) 
  F = FOREIGN KEY constraint 
  FN = SQL scalar function 
  FS = Assembly (CLR) scalar function 
  FT = Assembly (CLR) table-valued function 
  IF = SQL inline table-valued function 
  IT = Internal table 
  P = SQL stored procedure 
  PC = Assembly (CLR) stored procedure 
  PK = PRIMARY KEY constraint 
  R = Rule (old-style, stand-alone) 
  RF = Replication-filter-procedure

  S = System base table 
  SN = Synonym 
  SQ = Service queue 
  TA = Assembly (CLR) DML trigger 
  TF = SQL table-valued-function 
  TR = SQL DML trigger 
  U = Table (user-defined) 
  UQ = UNIQUE constraint 
  V = View 
  X = Extended stored procedure 


我们要得到名称的表(用户自定义表)就是类型为“U”的对象;而sys.objects的类型为“S”。所以,

SQL语句应该是——
   SELECT name  FROM sys.sysobjects  WHERE type='U'
GO

目录
相关文章
|
4月前
|
SQL 数据库
数据库修改表
数据库修改表
34 0
|
12天前
|
数据库
数据库字段
数据库字段
|
9月前
数据库里的表字段含有‘-’的修改
数据库里的表字段含有‘-’的修改
|
5月前
|
SQL 数据处理 定位技术
数据库基础(二):数据库表创建、修改、复制、删除与表数据处理
数据库基础(二):数据库表创建、修改、复制、删除与表数据处理
120 2
|
11月前
|
SQL 数据库 数据库管理
数据库|数据库之定义删除修改基本表
数据库|数据库之定义删除修改基本表
90 1
|
SQL 数据库
数据库实验一:数据库与数据表定义(2)—— 数据表相关操作
使用T-SQL命令方法创建自定义数据类型myName2为Nvarchar(20),不允许为空;自定义数据类型myDept为char(50),允许为空。(提示:CREATE TYPE…FROM命令)
281 0
数据库实验一:数据库与数据表定义(2)—— 数据表相关操作
|
数据库
查找某数据库中所有的字段
查找某数据库中所有的字段
86 0
|
数据库
检查两个数据库里的表名、字段是否一致的一种方法
不知道大家有没有遇到过这种情况。 程序已经给客户安装上了,并且客户已经录入了一些信息,然后程序还需要作比较大的变动(修改功能、增加模块等),数据库就不可避免要做一些改动。 但是这时候已经不能把客户的数据库删掉,换上新的数据库了。
972 0
|
SQL 数据库 Go
SQL脚本修改数据库名称
USE master; GO DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) FROM master.
938 0
|
数据库 存储
Sqlserver获取所有数据库名,表信息,字段信息,主键信息,以及表结构等。
原文:Sqlserver获取所有数据库名,表信息,字段信息,主键信息,以及表结构等。 --获取所有数据库名: SELECT name FROM master.
1229 0