给SQL语句规范格式
来源:互联网 发布:java mina netty 编辑:程序博客网 时间:2024/06/04 20:03
在写质检规则的时候,有时需要在mysql规则库中查看修改之前写的sql规则
但是不幸的是在mysql规则库中的sql规则没有换行,非常难看,比如下面这个规则:
select 'nav_link" as tn, xxx as fid xxx xx from xx where xxx union all select xx as xx, from where ...
这样的格式真心是看不下去啊(捏一把汗),但是这种问题还常常遇到。
我想把sql语句拷贝下来之后手工换行,调整好格式,弄漂亮一些。
但是挨个去断行也非常麻烦,写个程序吧,干掉它。
对select from where 这一类关键词:换行+输出关键字+换行+留制表符。
对union 这一类关键词:换行+ 输出关键词就可以。
我把无换行的sql语句存在文件in.sql中,程序处理之后输出到out.sql文件中。
sql换行缩进.cpp
程序的结果和手工断行的效果一样一样的,【要想实现一些更细致的缩进可以再改程序。】
代码贴在附件,中文不能正确显示,体验不好,这里再贴一坨。
/*author: huangzhiqiangdate: 2015-4-27功能:把in.sql文件中无换行的sql语句调整换行和缩进后输出到文件out.sql*/#include "stdafx.h"/*vs 环境中添加*/#include<iostream>#include<string>#include<fstream>using namespace std;//keyStr1 需要前换行#define N 7string keyStr1[N] = { "creat", "delete", "drop", "update", "union", "order", "group"};//keyStr2 需要前后换行#define M 3string keyStr2[M] = { "select", "from", "where" };//转化string类型为大写字符string toUpper(string str){string strUp;for (int i = 0; i < str.length(); i++){if (str[i] >= 'a'&&str[i] <= 'z')strUp.push_back(str[i] + 'A' - 'a');elsestrUp.push_back(str[i]);}return strUp;}//判断是否是关键字,是哪种关键字int judgeKey(string str){for (int i = 0; i<N; i++){if (str==keyStr1[i] || str==toUpper(keyStr1[i]) ){return 1;}}for (int i = 0; i<M; i++){if ( str==keyStr2[i] || str==toUpper(keyStr2[i]) ){return 2;}}return 0;}int main(){string fileName,str;//无换行的sql语句的文件名为in.sql(和本程序在同一个目录下)fileName = "in.sql";//从文件in.sql读入freopen(&fileName[0], "r", stdin);//输出到文件out.sqlfreopen("out.sql", "w", stdout);while (cin >> str){/*处理注释行*/if (str.find("/*") != 4294967295)cout << endl << str;/*关键字1 如 union*/else if ( judgeKey(str) == 1 ){cout << endl;cout << str << " ";}/*关键字2 如 select*/else if ( judgeKey(str) == 2 ){cout << endl;cout << str << endl;cout << "\t";}elsecout << str << " ";}//关闭输入重定向fclose(stdin);//关闭输出重定向fclose(stdout);//打开文件,查看输出结果system("out.sql");}
0 0
- 给SQL语句规范格式
- 一个超长SQL语句的规范书写格式范例.
- 一个超长SQL语句的规范书写格式范例.
- 一个超长SQL语句的规范书写格式范例.
- sql查询语句规范
- sql语句编程规范
- SQL语句编写规范
- SQL语句书写格式
- SQL分页语句格式
- SQL语句 日期格式大全
- C#书写sql语句格式
- sql语句 改变日期格式
- 常用SQL语句/时间格式
- sql语句的语法格式
- C#显示SQL语句格式
- sql固定格式操作语句
- SQL语句时间格式更新
- 数据库架构更新Sql语句编写规范
- Java 泛型的详解
- POJ 3170(bfs求最短路)
- 理解依赖注入(控制反转)!
- IP包头格式与IP地址分类
- iOS NSDate等时间类的使用
- 给SQL语句规范格式
- NYOJ-68 三点顺序
- PE文件在内存中的加载
- 字符串的全排列
- HDU 5763 dp+kmp
- Ajax(Asynchronous Javascript And XML)
- 用面向对象思想写钟表
- 【数据结构与算法】递归
- Lightoj 1152 Hiding Gold