登录
首页 >  数据库 >  MySQL

使用sed命令删除SQL文件中的注释信息

来源:SegmentFault

时间:2023-02-18 17:34:16 369浏览 收藏

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天golang学习网就整理分享《使用sed命令删除SQL文件中的注释信息》,文章讲解的知识点主要包括MySQL、Linux,如果你对数据库方面的知识点感兴趣,就不要错过golang学习网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。

当我们需要进行数据库迁移,而数据又是从低版本的mysql迁移到高版本的mysql使用,使用mysqldump命令导出数据库,所导出的SQL中会有许多的注释信息,如下:

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

而这些注释信息其实是有意义的,/*! 后面的数字,其实是MYSQL版本号信息,意思是当版本号高于或等于注释里的版本号时,里面的SET命令会被执行。

这种情况下,有时候在高版本执行时,会报错。这时候,就可以使用sed命令,将SQL中的注释行去掉,再执行就没问题了。

如SQL文件为:test.sql

去掉注释行的命令如下:

sed -i '/^\//d' test.sql

去掉后,然后再用source 或mysql 命令导入sql

终于介绍完啦!小伙伴们,这篇关于《使用sed命令删除SQL文件中的注释信息》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表