gpt4 book ai didi

c# - 如何正确解析 SQL CREATE TABLE 语句

转载 作者:太空宇宙 更新时间:2023-11-03 15:58:16 26 4
gpt4 key购买 nike

我需要解析 SQL“CREATE TABLE”语句,以获取字段列表及其属性。

它主要是 MySQL 语法,应该是(像这个例子一样带有无法控制的嵌套括号:

CREATE TABLE 'tablename' (
field1 INT,
field2 VARCHAR(10),
field3 FLOAT NOT NULL DEFAULT 0,
PRIMARY KEY (field1, field2),
(CONSTRAINT fk FOREIGN KEY whatever)
) options;

我可以很容易地隔离列定义,但我想拆分定义。不能用逗号拆分,因为它们可以在嵌套的括号中。

我可以遍历字符串以计算开始和结束字符串定界符(引号等),计算开始和结束括号,这样我就可以检测到“第一级”逗号并对其进行拆分。

但我想知道是否有更有效的方法,例如使用正则表达式,但我还不够擅长确定某些正则表达式是否可以匹配如此复杂的语法......

最佳答案

也许 its 会有用。您将像使用 sql 解析器一样使用它。和 this 用于正则表达式

关于c# - 如何正确解析 SQL CREATE TABLE 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22531976/

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