日期:2014-05-16  浏览次数:20472 次

查看数据库中表和列名数据类型

?

可以从数据库中的系统表 sysobjects 得到想要的数据表信息,具体SQL语句如下:

?

查看数据库中表名:

?

select name from sysobjects where type = 'U';

由于系统表sysobjects保存的都是数据库对象,其中type表示各种对象的类型,具体包括:

U = 用户表

S = 系统表

C = CHECK 约束

D = 默认值或 DEFAULT 约束

F = FOREIGN KEY 约束

L = 日志

FN = 标量函数

IF = 内嵌表函数

P = 存储过程

PK = PRIMARY KEY 约束(类型是 K

RF = 复制筛选存储过程

TF = 表函数

TR = 触发器

UQ = UNIQUE 约束(类型是 K

V = 视图

X = 扩展存储过程及相关的对象信息。

?

sql server 2000 中加载驱动和URL路径的语句是

String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433; databasename=test";

sql server 2005 中加载驱动和url的语句则为

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://localhost:1433; databasename=test";

?

查询列名:

select name from syscolumns where id=object_id('dd_Stu') and objectproperty(id,'IsUserTable')=1; 

或者

sp_columns dd_Stu;

?

查询表中字段、类型、长度等信息:

SELECT
字段名=a.Name,
类型=B.Name,
长度=COLUMNPROPERTY(a.ID,a.Name,'PRECISION'),
字段说明=IsNull(G.[value],'')
FROM syscolumns a
left join systypes B On a.Xtype=B.xusertype
left join sysproperties G On a.ID=G.ID And a.colid=G.smallid
Where a.id=object_id('要查询的表')    --如果只查询指定表,加上此条件
order by a.ID,a.colorder
?
?