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
获取某个表的字段:
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