【发布时间】:2011-01-26 02:48:02
【问题描述】:
我的项目涉及针对 SQLite 数据库运行即席 SQL 语句。我正在寻找一个 JavaScript 正则表达式来解析 ALTER、CREATE 和 UPDATE sql 语句。这是示例和我正在寻找的结果。
创建索引
CREATE INDEX Christy...
CREATE INDEX IF NOT EXISTS Christy...
CREATE UNIQUE INDEX Christy...
CREATE UNIQUE INDEX IF NOT EXISTS Christy...
结果
a = [..."CREATE", "INDEX", "Christy"]
创建没有表约束的表
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));
结果
a = [..."CREATE", "TABLE", "Vicky", "id INTEGER PRIMARY KEY AUTOINCREMENT","name TEXT","score REAL DEFAULT .10 CHECK (weight<=1)"]
使用表约束创建表
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));
结果
a = [..."CREATE", "TABLE", "Vicky", "id INTEGER PRIMARY KEY AUTOINCREMENT","name TEXT","score REAL DEFAULT .10 CHECK (weight<=1)","PRIMARY KEY (id, name))"]
创建触发器
CREATE TRIGGER Arwen...
CREATE TRIGGER IF NOT EXISTS Arwen...
结果
a = [..."CREATE", "TRIGGER", "Arwen"]
创建视图
CREATE VIEW Snow...
CREATE VIEW IF NOT EXISTS Snow...
结果
a = [..."CREATE", "VIEW", "Snow"]
更改表
ALTER TABLE Vicky...
结果
a = [..."ALTER", "TABLE", "Vicky"]
更新表格
UPDATE Vicky...
UPDATE OR ROLLBACK Vicky...
UPDATE OR ABORT Vicky...
UPDATE OR REPLACE Vicky...
UPDATE OR FAIL Vicky...
UPDATE OR IGNORE Vicky...
结果
a = [..."UPDATE", "TABLE", "Vicky"]
下面是这些 SQL 语句的 SQLite 文档的链接。
ALTER TABLE
CREATE INDEX
CREATE TABLE
CREATE TRIGGER
CREATE VIEW
UPDATE
谢谢,
HeadDataZombie
【问题讨论】:
标签: javascript regex sqlite