mysql dump.sql大小写转换

案例:

从公司的mysql导出数据库后,在linux下导入mysql,应用程序sql语句大小写导致的问题:

 

  1. 导出mysql(windows): mysqldump -h host -u userName -p password>dump.sql
  2. linux下导入到mysql:
    mysql -u root -p
    mysql>source ~/dump.sql
  3. 运行程序发现报错:linux下表名区分大小写导致所有的sql不正常(应用中都是大写的sql)
  4. 写代码解决此问题
public static void main(String[] args) throws IOException {
		BufferedReader reader = new BufferedReader(new FileReader("/home/skzrorg/dump.sql"));
		BufferedWriter writer = new BufferedWriter(new FileWriter("/home/skzrorg/dump2.sql"));
		System.out.println("开始转换");
		try {
			Pattern pattern = Pattern.compile("`\\w+`");
			StringBuffer buf = new StringBuffer();
			while(reader.ready()) {
				buf.setLength(0);
				String v = reader.readLine();
				Matcher matcher = pattern.matcher(v);
				while(matcher.find()) {
					matcher.appendReplacement(buf, matcher.group().toUpperCase());
				}
				matcher.appendTail(buf).append("\r\n");
				writer.write(buf.toString());
			}
			System.out.println("成功转换");
		} finally {
			writer.close();
		}
	}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值