添加例子🌰 ,sql分割自动清除注释
This commit is contained in:
		
							
								
								
									
										29
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								README.md
									
									
									
									
									
								
							@ -5,4 +5,33 @@
 | 
			
		||||
1. 解析sql生成语法树(不支持CREATE等语句,具体可以查看`core/astParser`文件),支持单条sql语句
 | 
			
		||||
2. 去除sql中的的注释(目前支持`--`,`/**/`类型注释)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## 用法
 | 
			
		||||
 | 
			
		||||
### 过滤注释 / sql分割
 | 
			
		||||
 | 
			
		||||
``` javascript
 | 
			
		||||
const dtFilter=require("dt-sql-parser").filter;
 | 
			
		||||
const sql=`
 | 
			
		||||
/*sttttttttart*/create table /*hhhhhhhh
 | 
			
		||||
hhhhhh
 | 
			
		||||
aaaaaa*/ sql_task_comment_test(id int comment 'id') comment 'sql test';
 | 
			
		||||
    --eeeeeeeend
 | 
			
		||||
`
 | 
			
		||||
console.log(dtFilter.filterComments(sql))//过滤注释
 | 
			
		||||
console.log(dtFilter.splitSql(sql));//分割sql
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### 生成ast树
 | 
			
		||||
``` javascript
 | 
			
		||||
const dtFilter=require("dt-sql-parser").parser;
 | 
			
		||||
const sql=`
 | 
			
		||||
/*sttttttttart*/select userId as id,name /*hhhhhhhh
 | 
			
		||||
hhhhhh
 | 
			
		||||
aaaaaa*/ from user where isDeleted=0
 | 
			
		||||
    --eeeeeeeend
 | 
			
		||||
`
 | 
			
		||||
console.log(dtFilter.parse(sql))//注意,目前只支持单条sql语句,所以需要自己调用sql分割一条一条处理!
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
语法解析模块代码来自[nquery](http://github.com/alibaba/nquery/)
 | 
			
		||||
@ -22,6 +22,7 @@ function cleanSql(sql) {
 | 
			
		||||
 * @param {String} sqlText 
 | 
			
		||||
 */
 | 
			
		||||
function splitSql(sqlText) {
 | 
			
		||||
    sqlText=cleanSql(sqlText);
 | 
			
		||||
    if (!sqlText) {
 | 
			
		||||
        return sqlText;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user