获取数据库表的信息

1、MySQL

获取表名:

用“show tables”命令。在程序中也可以采用该命令获取,在返回的RowSet中的“Tables_in_db”读出来。其中“db”是指你的数据库的名称,比如说Tables_in_productdb。

获取某个表的字段:

用“desc tablename”命令。取得方式和上面类似。



此外,还可用MySQL数据库系统表取得,在information_schema库中有系统中的一些基础性表,比如说TABLES\COLUMNS。但一般情况下,程序只访问本库中的表,所以不建议采用这种方式取得。


2、SQLSERVER

SQLSERVER中也有数据库系统表,有相应权限时可以直接访问。

获取表名:

通过查询sysobjects表取得,它记录了系统中的对象。具体的访问方式如下:

select name from sysobjects where xtype='U'


其中name得到的即表名。

XType='U':表示所有用户表;

XType='S':表示所有系统表。


获取某个表的字段:

SystemColumns表记录了数据库中的列信息。具体调用方式:

Select Name from SysColumns Where id=Object_Id('test')




3、ORACLE

获取表名:

Oracle的user_talbes用于记录了用户表信息。

select * from user_tables


获取某个表的字段:

SELECT USER_TAB_COLS.TABLE_NAME as 表名,
USER_TAB_COLS.COLUMN_NAME as 列名,
USER_TAB_COLS.DATA_TYPE as 数据类型,
USER_TAB_COLS.DATA_LENGTH as 长度,
USER_TAB_COLS.NULLABLE as 是否为空,
USER_TAB_COLS.COLUMN_ID as 列序号,
user_col_https://www.360docs.net/doc/ef671044.html,ments as 备注
FROM USER_TAB_COLS
inner join user_col_comments on user_col_comments.TABLE_NAME =
USER_TAB_COLS.TABLE_NAME
and USER_TAB_COLS.Table_Name = 'JC_JPZ_PLAN_ITEM'
and USER_TAB_COLS.Column_Name = user_col_comments.column_name




相关文档
最新文档