java连接数据库:已知地址、用户名和密码,怎样看到该用户下的所有数据库和表信息,就像Mysql-front

我用java语言做一个数据库的客户端 ,数据库的命令好像不能用啊

第1个回答  2011-03-29
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcTest {

/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
JdbcTest jdbcTest=new JdbcTest();
jdbcTest.connect();
}

void connect() throws Exception{
Class.forName("com.mysql.jdbc.Driver");//数据库的驱动类名
Connection connection= DriverManager.getConnection //打开连接("jdbc:mysql://localhost:3306/Test","root","123456");//Test是你要连接的数据库,root是用户名,123456是密码
Statement st=connection.createStatement(); 创建语句
ResultSet rs= st.executeQuery("select * from user");执行语句,查看user表中的内容
while(rs.next()){//循环遍历
System.out.println(rs.getObject(1)+" :"+rs.getObject(2)+" :"+rs.getObject(3));
}
}
}

迅速的给你写了一个jdbc连接mysql的例子,没有优化,上面有注释的。追问

这个连接的是一个数据库 我想知道的是怎样在不知道数据库名的基础上 连接这个用户 就像mysql-front那样 查看所有的数据库 我在试着编写数据库客户端 还是很感谢

追答

这个还真不知道啊

本回答被提问者采纳
第2个回答  2011-03-29
1. 首先确认你所连接的数据库用户是否有权限运行你所写的命令! 如果是在你可控的数据库上,那么建议给连接用户赋值 DBA 权限 !
2. 查看用户下所有表 : SELECT T.* FROM USER_TABLES T;
2. 查看用户下所有表字段 : SELECT T.* FROM USER_TAB_COLUMNS T;
第3个回答  2011-03-29
show databases;//显示所有数据库
show tables;//显示所有表
desc tables;//查看表字段
相似回答