如何检查数据库中是否存在表或列?
我正在尝试制作简单的java代码,以检查MySQL数据库中是否存在表和/或列。我应该使用Java代码进行检查还是创建SQL查询字符串并执行该字符串来执行检查?
编辑-
@阿莱鲁特 -
我尝试使用您的代码,如下所示。当我运行下面的代码时,我没有看到任何表或列。我只看到这个——
Driver Loaded.
Got Connection.
我的数据库有很多数据库,表和列。我不知道为什么这个程序可以正常工作。
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Tester {
static Connection conn;
static Statement st;
public static void main(String[] args) throws Exception {
try {
// Step 1: Load the JDBC driver.
System.out.println("Driver Loaded.");
// Step 2: Establish the connection to the database.
String url = "jdbc:mysql://localhost:3306/";
conn = DriverManager.getConnection(url, "cowboy", "123456");
System.out.println("Got Connection.");
st = conn.createStatement();
} catch (Exception e) {
System.err.println("Got an exception! ");
e.printStackTrace();
System.exit(0);
}
DatabaseMetaData md2 = conn.getMetaData();
ResultSet rsTables = md2.getColumns(null, null, "customers", "name");
if (rsTables.next()) {
System.out.println("Exists !");
}
}
}