SQL String Template
A tiny tool allow you to use ES2015 template strings to render a sql prepared statements. (Only support quest mark placeholder for now!).
Examples
Insert
const SQL = ; const data = name: "jon" age: 12 ;const stmt = SQL` INSERT INTO account (name, age) values (, )`;// stmt.sql: "INSERT INTO account (name, age) values (?, ?)"// stmt.params: ["jon", 12]*/
values
function
Insert with const SQL = ;const values = SQL; const data = name: "jon" age: 12 ;const sql params = SQL` INSERT INTO account `;// sql: "INSERT INTO account (name, age) values (?, ?)"// params: ["jon", 12]
Update
const SQL = ;const sql params = SQL` UPDATE account SET WHERE id = `;/*sql: "UPDATE account SET name=?, age=?, school=?"params: ["jon", 12, null]*/
Select
const SQL = ; const startDate = '2020-5-5';const endDate = undefined; const stmt = SQL` SELECT FROM account WHERE 1=1 `;/*stmt.sql: "SELECT id, name, pwd FROM account WHERE 1=1 AND startDate=?"stmt.params: ["2020-5-5"]*/
Keyword Functions
values
const data = name: 'fk' age: 18;const stmt = SQL`insert into tbl `;stmtsql; /* insert into tbl (name, age) values (?, ?) */stmtparams; /* ['fk', 18] */
set
const data = name: 'fk' age: 18;const stmt = SQL`update tbl set `;stmtsql; /* update tbl set name=?, age=? */stmtparams; /* ['fk', 18] */
join
const list = "Nick" "Adidas" "Jordon";const stmt = SQL`select * from tbl where a in ()`;stmtsql; /* select * from tbl where a in (?, ?, ?) */stmtparams; /* ["Nick", "Adidas", "Jordon"] */