node-qsb2
Version:
Node.js Query String Builder (QSB) for MySQL/MariaDB, Forked from node-qsb
105 lines (89 loc) • 3.71 kB
JavaScript
var qsb = require("../");
console.log("==== INSERT ======");
var qs1 = new qsb()
.insert("tableName")
.values(["colName"], ["Value"])
.build()
.printString();
//INSERT INTO `tableName`(`colName`) VALUES ('Value');
var params = {
cols: ["col1", "col2", "col3", "col4"],
vals: [null, "val2", "val3", 4000],
};
var qs2 = new qsb()
.insert("tableName")
.values(params.cols, params.vals)
.build()
.printString();
//INSERT INTO `tableName`(`col1`, `col2`, `col3`, `col4`) VALUES ('val1', 'val2', 'val3', '4000');
qs2.addValues(params.vals).build().printString();
//INSERT INTO `tableName`(`col1`, `col2`, `col3`, `col4`) VALUES ('val1', 'val2', 'val3', '4000'),('val1', 'val2', 'val3', '4000');
console.log("\n==== UPDATE ======");
var qs = new qsb()
.update("tableName")
.set("name", "Yowu")
.where("idx", "=", "423")
.build()
.printString();
//UPDATE `tableName` SET `name` = 'Yowu' WHERE `idx` = '423';
qs.set("email", "uyu423@gmail.com").build().printString();
//UPDATE `tableName` SET `name` = 'Yowu', `email` = 'uyu423@gmail.com' WHERE `idx` = '423';
console.log("\n==== forceQuery ======");
var qs = new qsb().forceQuery("select * from tableName").printString();
//select * from tableName
console.log("\n==== SELECT ======");
var qs = new qsb().select("tableName").where("idx", ">", "10").build();
qs.printString(); //SELECT * FROM `tableName` WHERE `idx` > '10';
console.log(qs.returnString()); //SELECT * FROM `tableName` WHERE `idx` > '10';
qs.where("name", "=", "Yowu").build();
console.log(qs.returnString()); //SELECT * FROM `tableName` WHERE `idx` > '10' AND `name` = 'Yowu';
qs.whereOr("name", "=", "Yu Yongwoo").build();
console.log(qs.returnString()); //SELECT * FROM `tableName` WHERE `idx` > '10' AND `name` = 'Yowu' OR `name` = 'Yu Yongwoo';
console.log("\n==== DELETE ======");
var qs = new qsb()
.delete("tableName")
.where("idx", "=", 10)
.build()
.printString();
//DELETE FROM `tableName` WHERE `idx` = '10';
console.log("\n==== SELECT NOT USING STAR ======");
var qs = new qsb().select("tableName").get("col1").get("col2").build();
console.log(qs.returnString());
//SELECT `col1`, `col2` FROM `tableName`;
console.log("\n==== JOIN ======");
try {
var qs = new qsb()
.select("tableName", "TN1")
.join("tableName2", "TN2")
.where("TN1.idx", "<=", 10)
.whereOr("TN2.idx", "=", "TN1.idx")
.where("TN1.idx", "in", [1, 2, 3])
.where("TN1.idx", "between", '"2020-03-01" and "2020-05-31"')
.where("TN1.idx", "IS NULL")
.build()
.printString();
//SELECT * FROM `tableName` `TN1` JOIN `tableName2` `TN2` WHERE `TN1`.`idx` <= '10' OR `TN2`.`idx` = 'TN1.idx';
var qsJoin = new qsb()
.select("test", "TN1")
.get("TN1.id")
.get("TN1.name")
.get("TN2.name2")
.leftJoin(
"SELECT * FROM test2 where id <= 3",
"TN2",
"TN1.id=TN2.id",
true
)
.build()
.printString();
} catch (e) {
console.error(e);
}
console.log("\n==== LIMIT ======");
qs.limit(0, 10).build();
console.log(qs.returnString());
//SELECT * FROM `tableName` `TN1` JOIN `tableName2` `TN2` WHERE `TN1`.`idx` <= '10' OR `TN2`.`idx` = 'TN1.idx' LIMIT '0', '10';
console.log("\n==== ORDER BY ======");
qs.orderBy("TN1.idx", "DESC").orderBy("TN2.name", "ASC").build();
console.log(qs.returnString());
//SELECT * FROM `tableName` `TN1` JOIN `tableName2` `TN2` WHERE `TN1`.`idx` <= '10' OR `TN2`.`idx` = 'TN1.idx' ORDER BY `TN1`.`idx` desc LIMIT '0', '10';