我知道使用JDBC我们可以为数据库内的查询创建输出,但是如何将命令SHOW PROCESSLIST
的输出作为Java程序的输出。
在mysql中我们得到它:SHOW PROCESSLIST
但我想知道我们是否可以使用Java生成输出?
答案 0 :(得分:1)
您可以使用executeQuery获取 SHOW PROCESSLIST ResultSet。
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql", "root", password);
Statement stmt = null;
try {
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SHOW PROCESSLIST");
while (rs.next())
{
System.out.println(rs.getString("Host"));
System.out.println(rs.getString("Id"));
System.out.println(rs.getString("User"));
System.out.println(rs.getString("db"));
System.out.println(rs.getString("Command"));
System.out.println(rs.getString("state"));
System.out.println(rs.getString("info"));
}
答案 1 :(得分:0)
根据您的MySQL版本,您可以执行选择
SELECT * FROM information_schema.PROCESSLIST;
您可以在用户,数据库和主机IP之间进行操作。
例如:
SELECT * FROM information_schema.PROCESSLIST WHERE db ="mycase" AND HOST LIKE "192.168.11.174%"