MySQL,SQLSERVER,ORACLE获取数据库表名及字段名

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
 

猜你喜欢

转载自x-nam.iteye.com/blog/1381919