如何取得mysql中所有的数据库?
如何取得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




