3

mySQLスニペットをパイプするLinuxベースのSQLビューティファイアを見つけることができなかったので、mySQLコードを単純に表形式化することにしました。私はこれを回したい:

CREATE TABLE IF NOT EXISTS GROUP
(
   ID INT NOT NULL AUTO_INCREMENT,
   GROUPNAME VARCHAR(15) UNIQUE,
   ACTIVE BOOLEAN DEFAULT TRUE,

   PRIMARY KEY(ID)
)ENGINE=InnoDB

これに

CREATE TABLE IF NOT EXISTS GROUP
(
   ID         INT NOT NULL AUTO_INCREMENT,
   GROUPNAME  VARCHAR(15) UNIQUE,
   ACTIVE     BOOLEAN DEFAULT TRUE,

   PRIMARY KEY(ID)
)ENGINE=InnoDB

しかし、私がそうするなら、私は:Tabularize /\得る

CREATE TABLE IF NOT EXISTS GROUP
(
        ID          INT           NOT        NULL         AUTO_INCREMENT,
        USERID      INT           NOT        NULL,
        GROUPNAME   VARCHAR(15)   UNIQUE,
        ACTIVE      BOOLEAN       DEFAULT    TRUE,

        PRIMARY     KEY(ID),
        FOREIGN     KEY           (USERID)   REFERENCES   USER(ID)
)ENGINE=InnoDB

識別子の後の最初のスペースだけに揃えるにはどうすればよいですか(または、コマンドラインSQL beautifier =はどこにありますか?)

4

1 に答える 1

4

Tabularize がパターンを繰り返して他のフィールドに一致させないようにするには、パターンを固定する必要があります。この場合、最初はより理にかなっているので、次のようなことを試すことができます。

:Tab /^\s*\w*

あなたの行には、このパターンを持つフィールドが 1 つだけあります。ただし、注意してください。この例では発生しない可能性がありますが、これは大部分の行に一致するため、(明示的に、またはビジュアル モードで行を選択することによって) 範囲内でのみ Tabularize を適用することをお勧めします。

于 2012-04-23T21:11:02.020 に答える