1
2
您可以通过构建脚本来解决此任务,从以下语句的输出开始:
有关此功能的详细信息可在此处找到“ MYSQL::The INFORMATION_SCHEMA COLUMNS Table “ 然后您可以使用alter表。更改功能以更改列的名称 例如
也见“ MYSQL::ALTER TABLE Syntax 他说:“这是一个很好的选择。” 不同的数据类型有不同的要求,因此需要联合:
|
2
6
如果下面有其他人想要的是已完成查询的示例,请在使用…. 根据要求编辑已完成的解决方案
将来有人… btw视图也在这里编写脚本,因此您可能需要将它们从最终的SQL代码中去掉。 |
3
6
通过将以下正则表达式应用于SQL转储(例如,由
这是因为所有表和列的名称都由``(反勾号)包装。最好只在模式上执行此操作,与数据分离(只使用表结构,然后执行插入)。 要在VIM中执行此操作,请打开SQL转储并输入以下命令:
或者从命令行使用
如果需要重复执行此操作,请将表达式存储在文本文件中,然后按如下方式调用它:
|
4
3
LEPE提出的解决方案确实是唯一安全的方法。脚本方法太危险,容易导出或处理错误的数据定义。上面的所有示例脚本都遗漏了几个数据类型,因此它们是不完整的。 我做了一个sqldump,它在表名和列名周围放置回线,然后使用notepad++搜索(`.`),并替换为\l\1。它将我的所有表名和列名都转换为小写。 然后备份数据库,清除所有表,然后执行.sql文件来重建。我不担心做与数据分离的结构,因为我发现在我的任何数据中都没有出现反勾号符号。 在我的例子中,我需要所有小写的列名,因为我的开发环境会自动将名字转换为名字:作为数据输入的字段标签。如果我把它们留作大写(我继承了它),它们将转换成名字,这不是我想要的,我将不得不更改所有字段标签。 |