CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  MySQL/Postgresql

如何取得mysql中所有的数据库?

楼主mechiland(打铁匠[价格公道,童叟无欺])2002-01-28 12:51:39 在 其他数据库开发 / MySQL/Postgresql 提问

如何取得mysql中所有的数据库名称,单个数据库中表的名称以及列名称?  
  30分送上! 问题点数:30、回复次数:12Top

1 楼zzbsw(亮)回复于 2002-01-28 12:56:25 得分 0

找一本书查查就知道拉  
  肯定是放在一个系统表中的Top

2 楼yanchang(笨笨)回复于 2002-01-28 13:09:37 得分 0

下个PHP做的admin,看看原吗蚂,他从那里取出的所有表Top

3 楼mechiland(打铁匠[价格公道,童叟无欺])回复于 2002-01-28 15:55:06 得分 0

忘了说了,用jsp语言实现!大家帮忙!Top

4 楼mechiland(打铁匠[价格公道,童叟无欺])回复于 2002-01-28 18:09:35 得分 0

大家帮忙啊。怎么取得jsp单个库中所有表的名称?还有单个表中所有列的名称?  
  Top

5 楼cummingte(刺猬)回复于 2002-01-29 01:12:57 得分 0

我不知!Top

6 楼happynet(快乐数据)回复于 2002-01-29 08:54:01 得分 0

JSP中取出表名?好象有点难吧!  
  看来我得查查书才行!Top

7 楼rootwuyu(wuyu)回复于 2002-01-29 12:00:04 得分 0

用sql语句,"show   databases",然后getString(1)Top

8 楼rootwuyu(wuyu)回复于 2002-01-29 12:00:37 得分 8

取出所有库是show   databases  
   
  列出当前库中所有表名是show   tablesTop

9 楼mechiland(打铁匠[价格公道,童叟无欺])回复于 2002-01-29 15:04:55 得分 0

show   databases   返回的什么类型?resultset   还是   array?Top

10 楼secretthing(汐儿)回复于 2002-01-29 15:23:40 得分 2

sql语句,应该是resultsetTop

11 楼VCVCVC(VC爱好者)回复于 2002-01-29 15:25:13 得分 20

import   java.sql.Connection;  
  import   java.sql.DatabaseMetaData;  
  import   java.sql.DriverManager;  
  import   java.sql.ResultSet;  
  import   java.sql.SQLException;  
  import   java.sql.Statement;  
  import   java.util.Hashtable;  
  import   java.util.Vector;  
   
  public   class   Database  
  {  
          private   Connection   connection;  
          private   String   driver;  
          private   String   url;  
          private   String   username;  
          private   String   password;  
          private   DatabaseMetaData   _metaData;  
           
          private   Database()   {  
  /*   empty   */  
          }  
           
          public   Database(String   driver,   String   url,   String   username,  
          String   password)   {  
  this.driver   =   driver;  
  this.url   =   url;  
  this.username   =   username;  
  this.password   =   password;  
          }  
           
          public   void   makeConnection()   throws   ClassNotFoundException,   SQLException   {  
  Class.forName(driver);  
  connection   =   DriverManager.getConnection(url,   username,   password);  
          }  
           
          public   Connection   getConnection()   {  
  return   connection;  
          }  
           
          public   DatabaseMetaData   getTableMetaData()   throws   SQLException   {  
  _metaData   =   connection.getMetaData();  
  System.out.println("");  
  System.out.println("Database   &   Driver   Information:");  
  System.out.println("------------------------------");  
  System.out.println("Database   version   :   "  
                .concat(_metaData.getDatabaseProductVersion()));  
  System.out.println("Driver   Name   :   ".concat(_metaData.getDriverName()));  
  System.out.println  
          (String.valueOf(new   StringBuffer("Driver   Version   :   ").append  
  (_metaData.getDriverMajorVersion()).append  
  (".")  
  .append(_metaData.getDriverMinorVersion())));  
  return   _metaData;  
          }  
           
          public   Vector   getTableNames  
  (String   databaseType,   String   catalog,   String   schema,  
    Hashtable   hashOfTableNames)  
  throws   SQLException   {  
  Vector   tableNames   =   new   Vector();  
  ResultSet   tables   =   null;  
  String[]   tableTypes  
          =   {   "TABLE",   "VIEW",   "ALIAS",   "SYNONYM",   "GLOBAL   TEMPORARY",  
  "LOCAL   TEMPORARY",   "SYSTEM   TABLE"   };  
  tables   =   getTablesForDbType(databaseType,   catalog,   schema,   tableTypes);  
  if   (databaseType.equals("NORMAL"))  
          tables   =   _metaData.getTables(catalog,   schema,   "%",   tableTypes);  
  else   if   (databaseType.equals("SOLID"))   {  
          String   query  
  =   "SELECT   TABLE_SCHEMA,TABLE_TYPE,TABLE_NAME   FROM   TABLES";  
          Statement   stmt   =   connection.createStatement();  
          tables   =   stmt.executeQuery(query);  
  }  
  String   tableName   =   "";  
  while   (tables.next())   {  
          tableName   =   tables.getString(3);  
          String   tableType   =   tables.getString(2);  
          if   (hashOfTableNames   ==   null  
  ||   hashOfTableNames.get(tableName)   !=   null)  
  tableNames.addElement(tableName);  
  }  
  tables.close();  
  return   tableNames;  
          }  
           
          private   ResultSet   getTablesForDbType  
  (String   databaseType,   String   catalog,   String   schema,  
    String[]   tableTypes)  
  throws   SQLException   {  
  ResultSet   tables   =   null;  
  if   (databaseType.equals("NORMAL"))  
          tables   =   _metaData.getTables(catalog,   schema,   "%",   tableTypes);  
  else   if   (databaseType.equals("SOLID"))   {  
          String   query  
  =   "SELECT   TABLE_SCHEMA,TABLE_TYPE,TABLE_NAME   FROM   TABLES";  
          Statement   stmt   =   connection.createStatement();  
          tables   =   stmt.executeQuery(query);  
  }  
  return   tables;  
          }  
           
          public   Vector   getTableNames()   throws   SQLException   {  
  String[]   tableTypes  
          =   {   "TABLE",   "VIEW",   "ALIAS",   "SYNONYM",   "GLOBAL   TEMPORARY",  
  "LOCAL   TEMPORARY",   "SYSTEM   TABLE"   };  
  Vector   tableNames   =   new   Vector();  
  ResultSet   tables   =   null;  
  String   catalog   =   new   String();  
  String   schema   =   new   String();  
  String   databaseType   =   "NORMAL";  
  if   (databaseType.equals("NORMAL"))  
          tables   =   _metaData.getTables(catalog,   schema,   "%",   tableTypes);  
  else   if   (databaseType.equals("SOLID"))   {  
          String   query  
  =   "SELECT   TABLE_SCHEMA,TABLE_TYPE,TABLE_NAME   FROM   TABLES";  
          Statement   stmt   =   connection.createStatement();  
          tables   =   stmt.executeQuery(query);  
  }  
  String   tableName   =   "";  
  while   (tables.next())   {  
          tableName   =   tables.getString(3);  
          String   tableType   =   tables.getString(2);  
          tableNames.addElement(tableName);  
  }  
  tables.close();  
  return   tableNames;  
          }  
  }  
   
  这个给你看看,应该对你有所帮助的,要仔细看呀  
  别忘了给分:)  
   
  Top

12 楼mechiland(打铁匠[价格公道,童叟无欺])回复于 2002-01-29 17:38:36 得分 0

VCVCVC(VC爱好者) ,多谢!虽然没有提供取得数据库名称功能,但已足够了!多谢: rootwuyu(wuyu) ;secretthing(玲珑) ,分送上!Top

相关问题

  • 从mysql数据库中取得的数据排序问题~
  • mysql数据库中字段出现?号
  • mysql数据库中文编码问题
  • 如何取得mysql数据库中的Datetime 类型的值,并在jsp页中将它转化为String输出?
  • 怎样将MSsql server2000中的数据库直接生成MySQL的数据库
  • 怎样取得当前日期,并写入到mysql数据库
  • struts中从xml中取得数据库连接
  • Delphi中从Access数据库中取得时间的问题
  • 数据库a中取得数据库RoleManage.nsf中某一文档中的值.怎么也找不到.
  • 怎样从sql数据库中取得一个数据库中的所有表名,并显示出来

关键词

  • 数据库
  • database
  • sql
  • 表
  • databasemetadata
  • 取得
  • 中所有
  • 名称
  • 单个
  • 取出

得分解答快速导航

  • 帖主:mechiland
  • rootwuyu
  • secretthing
  • VCVCVC

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo