使用正则表达式获取Sql查询语句各项(表名、字段、条件、排序)
2016-03-27 14:58
1311 查看
string text = "select * from [admin] where aa=1 and cc='b' order by aa desc "; Regex reg = null; reg = new Regex(@"\s+from\s+.*?(\s+where\s+|\s+order\s+|\s+group\s+)|\s+from\s+.+", RegexOptions.IgnoreCase); string table = reg.Match(text).Value; table = Regex.Replace(table.ToLower(), @"\s+from\s+|\s+where\s+|\[|\]|\s+order\s+|\s+group\s+", ""); reg = new Regex(@"select\s+.*?\s+from\s+", RegexOptions.IgnoreCase); string field = reg.Match(text).Value; field = Regex.Replace(field.ToLower(), @"select\s+|\s+from\s+|\[|\]", ""); reg = new Regex(@"\s+where\s+.*?(\s+order\s+|\s+group\s+)|\s+where\s+.+", RegexOptions.IgnoreCase); string condition = reg.Match(text).Value; condition = Regex.Replace(condition.ToLower(), @"\s+where\s+|\s+order\s+|\s+group\s+|\[|\]", ""); reg = new Regex(@"\s+order\s+by\s+.*?\s(desc|asc)|\s+order\s+by\s+.*?\s", RegexOptions.IgnoreCase); string order = reg.Match(text).Value; order = Regex.Replace(order.ToLower(),@"\s+order\s+by\s+|\[|\]", "");
相关文章推荐
- MYSQL的常用命令和增删改查语句和数据类型
- 通过ServletConfig加载web.xml文件来连接数据库
- Oracle:高效插入大量数据经验之谈
- [go] database/sql包执行生成的SQL语句,遇到Incorrect Integer错误
- Bison executable not found in PATH by mysql install
- SQL Server 2012 实现分页新语法
- SQl优化问题4
- SQl优化问题3
- SQl优化问题2
- SQL 优化问题1
- oracle默认排序
- sql service 游标和触发器的使用
- 数据库_chapter05
- mysql5.6.28 备份主要参数学习
- sql server 向oracle导入表
- 向sql server 导入数据库
- mysql优化 之 表设计注意事项
- 数据库批量修改表名,增加前缀(SQL server)
- mysql中<>与null值不能比较
- JSP proxool+mysql数据库连接池配置