My project involves running custom SQL statements in a SQLite database. I am looking for a JavaScript regular expression to parse ALTER, CREATE, and UPDATE SQL queries. Here are the examples and results that I am looking for.
Create Index
CREATE INDEX Christy...
CREATE INDEX IF NOT EXISTS Christy...
CREATE UNIQUE INDEX Christy...
CREATE UNIQUE INDEX IF NOT EXISTS Christy...
Result
a = [..."CREATE", "INDEX", "Christy"]
Create table without table constraint
CREATE TABLE Vicky (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,score REAL DEFAULT .10 CHECK (weight<=1));
CREATE TABLE IF NOT EXISTS Vicky (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,score REAL DEFAULT .10 CHECK (weight<=1));
Result
a = [..."CREATE", "TABLE", "Vicky", "id INTEGER PRIMARY KEY AUTOINCREMENT","name TEXT","score REAL DEFAULT .10 CHECK (weight<=1)"]
Create a table with table restrictions
CREATE TABLE Vicky (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,score REAL DEFAULT .10 CHECK (weight<=1)),PRIMARY KEY (id, name));
CREATE TABLE IF NOT EXISTS Vicky (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,score REAL DEFAULT .10 CHECK (weight<=1)),PRIMARY KEY (id, name));
Result
a = [..."CREATE", "TABLE", "Vicky", "id INTEGER PRIMARY KEY AUTOINCREMENT","name TEXT","score REAL DEFAULT .10 CHECK (weight<=1)","PRIMARY KEY (id, name))"]
Create trigger
CREATE TRIGGER Arwen...
CREATE TRIGGER IF NOT EXISTS Arwen...
Result
a = [..."CREATE", "TRIGGER", "Arwen"]
Create view
CREATE VIEW Snow...
CREATE VIEW IF NOT EXISTS Snow...
Result
a = [..."CREATE", "VIEW", "Snow"]
Edit table
ALTER TABLE Vicky...
Result
a = [..."ALTER", "TABLE", "Vicky"]
Update table
UPDATE Vicky...
UPDATE OR ROLLBACK Vicky...
UPDATE OR ABORT Vicky...
UPDATE OR REPLACE Vicky...
UPDATE OR FAIL Vicky...
UPDATE OR IGNORE Vicky...
Result
a = [..."UPDATE", "TABLE", "Vicky"]
Here are links to SQLite docs for these SQL statements.ALTER TABLE
CREATE INDEX
CREATE TABLE
CREATE TRIGGER
CREATE VIEW
UPDATE
Thanks,
HeadDataZombie