1、获得所有数据库名
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网页空间、营销软件、网站建设、珲春网站维护、网站推广。
选择master数据库,查询表sysdatabases;
2、获得所有数据表名
选择你要查询的数据库,查询表sysobjects,并且xtype为'U';
3、获得所有字段名和字段类型
选择你要查询的数据库,查询表syscolumns,语句如下:
select
b.name, a.name, c.name
from syscolumns a
inner join sysobjects b on a.id = b.id
inner join systypes c on a.xtype = c.xtype
如何获取SQL语句中的表名称,包括较复杂的SQL语句
用sql获取数据库中所有的表名的方法:
1、oracle下:select
table_name
from
all_tables;
2、MySQL下:select
table_name
from
information_schema.tables
where
table_schema='csdb'
and
table_type='base
table';
3、sql
server下:select
name
from
sys.tables
go
SQLSERVER中 根据字段名称查找所在表格名称的方法:
一、语句的思路:
SQLSERVER的两个系统表:1、保存表格字段属性的:syscolumns 2、保存数据库对象属性的:sysobjects ,它们都包含对象ID字段,所以可以使用两个表格的ID字段,作为表格联合检索依据来进行检索。
二、相关系统表格简介:
1、syscolumns :每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。
2、sysobjects :在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。
三、根据字段名称检索所在表格名称
select syscolumns.name,sysobjects.name --syscolumns.name:字段名、sysobjects.name:表格名称
from syscolumns,sysobjects
where syscolumns.name = 'gc_lczt' and syscolumns.id = sysobjects.id;--以字段名称'gc_lczt'为例,使用字段ID关联两个表格
四、检索结果如图:
五、注意:因为不同表格可能有相同的字段名称,所以结果有可能不只一条。
如果你要获取数据库的表对象名,可以用下面的,如果你是想从sql语句里面取出表名,呃。。。。这个无语了,如果你的想法可行,那么请问,多表关联的语句怎么取?
public List getTableList() throws SQLException
{
List list=new ArrayList();
DatabaseMetaData dmd = conn.getMetaData();
String[] types = new String[1];
types[0] = "TABLE";
// types[1]="VIEW"
ResultSet rs = dmd.getTables(null, null, "%", types);
while (rs.next())
{
list.add(rs.getString("TABLE_NAME"));
}
rs.close();
return list;
}
conn就是一个数据库连接,这是从我的一个工具类抽取出来的,你看看