druid 递归 SQLSelect 中所有的* 替换为对应字段
时间: 2024-02-03 09:13:04 浏览: 87
提取Druid的SQL解析器
在 Druid 中,可以使用 SQL 的 `SELECT` 命令来查询数据。如果查询语句中含有 `*`,则会查询出所有字段。如果需要将 `*` 替换为对应字段,可以使用以下方法:
1. 使用 `DESCRIBE` 命令获取表的字段信息,手动替换 `*`。
例如,假设要查询 `table_name` 表的所有字段,可以先执行以下命令获取字段信息:
```
DESCRIBE table_name;
```
然后手动将 `SELECT *` 替换为 `SELECT column1, column2, column3, ...`。
2. 使用 `SELECT` 命令和 `INFORMATION_SCHEMA` 系统表,动态生成查询语句。
在 Druid 中,可以使用 `INFORMATION_SCHEMA.COLUMNS` 系统表获取表的字段信息。可以通过以下 SQL 语句获取 `table_name` 表的字段列表:
```
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'table_name';
```
然后可以动态生成查询语句,例如:
```
SELECT column1, column2, column3, ... FROM table_name;
```
以上两种方法都可以将 `*` 替换为对应字段。但是第二种方法更加灵活,可以适用于不同的表和字段。
阅读全文