查询mysql库中所有表名的有关问题。
查询mysql库中所有表名的问题。。。
库中明明有三个表,但是只有System.out.println(rs.getString(1));时,才会输出第一个表名,其它两个无效。。。
------最佳解决方案--------------------
不会啊,你用的是mysql吧,我刚搭了环境试了试,没问题。
还有rs.getString(2)会报错的。
打印结果:
------其他解决方案--------------------
con = DriverManager.getConnection("jdbc:mysql://localhost/mysql?user=root&password=");
此处的mysql要换成你所有查询的db名.
------其他解决方案--------------------
帅哥,你在MYSQL里执行show tables,出来的结果是不是只有一列,你为什么要给他写rs.getString(1),故意和自己过不去?
------其他解决方案--------------------
show tables;
执行结果只有一列吧,怎么会有rs.getString(2)?
------其他解决方案--------------------
sql="show tables";
rs=statement.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString(2));
}
库中明明有三个表,但是只有System.out.println(rs.getString(1));时,才会输出第一个表名,其它两个无效。。。
------最佳解决方案--------------------
不会啊,你用的是mysql吧,我刚搭了环境试了试,没问题。
还有rs.getString(2)会报错的。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
public class TestMySql {
public static void main(String[] args) {
Connection con = null;
java.sql.PreparedStatement statment = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager
.getConnection("jdbc:mysql://localhost/mysql?user=root&password=");
con.setAutoCommit(false);
String sql = "show tables;";
statment = con.prepareStatement(sql);
rs = statment.executeQuery();
while (rs.next()) {
System.out.println(rs.getString(1));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
rs.close();
statment.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
打印结果:
columns_priv
db
func
help_category
help_keyword
help_relation
help_topic
host
proc
procs_priv
tables_priv
time_zone
time_zone_leap_second
time_zone_name
time_zone_transition
time_zone_transition_type
user
------其他解决方案--------------------
con = DriverManager.getConnection("jdbc:mysql://localhost/mysql?user=root&password=");
此处的mysql要换成你所有查询的db名.
------其他解决方案--------------------
帅哥,你在MYSQL里执行show tables,出来的结果是不是只有一列,你为什么要给他写rs.getString(1),故意和自己过不去?
------其他解决方案--------------------
show tables;
执行结果只有一列吧,怎么会有rs.getString(2)?
------其他解决方案--------------------