获取表名:
Oracle的user_talbes用于记录了用户表信息。 select * from user_tables 获取某个表的字段: USER_TAB_COLS中记录了用户表的列信息。下面是别人写的: 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_comments.comments as 备注 FROM USER_TAB_COLS
inner join user_col_comments on user_col_comments.TABLE_NAME = USER_TAB_COLS.TABLE_NAME
and user_col_comments.COLUMN_NAME = USER_TAB_COLS.COLUMN_NAME
and
USER_TAB_COLS.TABLE_NAME='T_COMPANY_DETAIL' -------------- (2).
select
A.column_name 字段名,A.data_type 数据类型,A.data_length 长度,A.data_precision 整数位,
A.Data_Scale 小数位,A.nullable 允许空值,A.Data_default 缺省值,B.comments 备注 from
user_tab_columns A,user_col_comments B where
A.Table_Name = B.Table_Name
and A.Column_Name = B.Column_Name and A.Table_Name = 'T_COMPANY_DETAIL'
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')
因篇幅问题不能全部显示,请点此查看更多更全内容