我正在将一个CSV文件读入我的java程序,它的每条记录都有一个sql查询。我想解析这个(Select)SQL查询以查找这些查询中提到的表名和列名。
e.g。选择年龄,员工姓名
结果:
----表格:[员工]
----列:[年龄,姓名]
注意:我不想激发查询,否则我会使用ResultSetMetaData
答案 0 :(得分:0)
对于像上面例子这样的简单SQL语句,我会使用一些简单的字符串方法来获取信息。示例:
public static void main (String[]args) {
String sql = "Select age,name,adress,id from Employee where id = 3";
String[] columns = sql.substring(sql.indexOf("Select")+7, sql.indexOf("from")-1).split(",");
String table = sql.substring(sql.indexOf("from")+5).split(" ")[0];
System.out.println(Arrays.toString(columns));
System.out.println(table);
}