MySQL,SQLSERVER,ORACLE获取数据库表名及字段名
程序员文章站
2024-03-21 21:17:40
...
1、MySQL
获取表名:
用“show tables”命令。在程序中也可以采用该命令获取,在返回的RowSet中的“Tables_in_db”读出来。其中“db”是指你的数据库的名称,比如说Tables_in_productdb。
获取某个表的字段:
用“desc tablename”命令。取得方式和上面类似。
此外,还可用MySQL数据库系统表取得,在information_schema库中有系统中的一些基础性表,比如说TABLES\COLUMNS。但一般情况下,程序只访问本库中的表,所以不建议采用这种方式取得。
2、SQLSERVER
SQLSERVER中也有数据库系统表,有相应权限时可以直接访问。
获取表名:
通过查询sysobjects表取得,它记录了系统中的对象。具体的访问方式如下:
3、ORACLE
获取表名:
获取表名:
用“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
推荐阅读
-
Sqlserver获取所有数据库名,表信息,字段信息,主键信息,以及表结构等。
-
MySQL,SQLSERVER,ORACLE获取数据库表名及字段名
-
jdbc获取mysql、oracle数据库的表、字段、主键、唯一索引
-
MySQL 获取数据库中的所有表名和列名
-
oracle&&Sqlserver获取表名列名主键及数据类型
-
[转载]SQL获取所有用户名,数据库名、所有表名、所有字段名及字段
-
SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)
-
oracle&&Sqlserver获取表名列名主键及数据类型
-
MySQL、SqlServer、Oracle数据库中Alter的用法及区别
-
SQLSERVER查询所有数据库名,表名,和字段名的语句