gpt4 book ai didi

sql - 将 SQL 插入脚本转换为 CSV 格式

转载 作者:行者123 更新时间:2023-12-04 16:59:29 32 4
gpt4 key购买 nike

我在找 awk命令或类似工具,将标准格式良好的 SQL 插入脚本转换为 csv 文件。
按照标准,我的意思是任何地方都没有数据库供应商特定的东西。
格式良好的意思是 sql 脚本的每一行都有一个完整的列设置为插入,即使有 NULL。插入字段的顺序也是一样的。
示例输入 SQL 脚本:

INSERT INTO tbl VALUES (1, 'asd', 923123123, 'zx');
INSERT INTO tbl VALUES (1, NULL, 923123123, 'zxz');
INSERT INTO tbl VALUES (3, 'asd3', 923123123, NULL);

可选:
INSERT INTO tbl (colA, colB, colC, colD) VALUES (1, 'asd', 923123123, 'zx');

预期输出应该是一个 csv 文件:
1,'asd',923123123,'zx'
1,,923123123,'zxz'
3,'asd3',923123123,

寻找性能高效的解决方案。

最佳答案

用 GNU grep 和 sed 试试这个:

grep -oP '\(\K[^)]*(?=\);)' file | sed 's/NULL//g;s/ //g'

所有四行的输出:
1,'asd',923123123,'zx'1,,923123123,'zxz'3,'asd3',923123123,1,'asd',923123123,'zx'

or only with GNU sed:

sed 's/.*(\([^)]*\));/\1/;s/NULL//g;s/ //g' file

所有四行的输出:

1,'asd',923123123,'zx'
1,,923123123,'zxz'
3,'asd3',923123123,
1,'asd',923123123,'zx'

关于sql - 将 SQL 插入脚本转换为 CSV 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32026398/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com