The Node.js MySQL pair is familiar to everyone. But in MySQL you have to write a lot of code to achieve the goal and it is often incomprehensible to beginners. Today I am offering a Sculter.JS framework designed to make it easier to write code in MySQL. Today we are going to compare the Node.jS MySQL pair with the Node.js MySQL + Sculter.JS trio.
What is Sculter.JS?
Sculter.JS is a framework for Node.js developed for MySQL, whose main function is to make it easier to write code in MySQL and make the code understandable to applications.
npm i sculter.js
Comparing teams
Letβs now create a database in both to compare these two teams.
Let's create the first database named mydb
in MySQL Node.js team:
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "yourusername", password: "yourpassword" }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); con.query("CREATE DATABASE mydb", function (err, result) { if (err) throw err; console.log("Database created"); }); });
Now in the Node.js MySQL Sculter.js team we will create a table named mydb
:
const sculter = require("sculter.js"); sculter.send({ connect: ["localhost", "yourusername", "yourpassword"], sql: "CREATE DATABASE mydb" }); console.log("Database created");
We created a database in both teams. Now we create a table in them. We call our table customers
. Let's create a table with the first team:
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "yourusername", password: "yourpassword", database: "mydb" }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); var sql = "CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))"; con.query(sql, function (err, result) { if (err) throw err; console.log("Table created"); }); });
We will create table with Node.JS MySQL Sculter.js trio:
const sculter = require("sculter.js"); sculter.send({ connect: ["localhost", "yourusername", "yourpassword", "mydb"], sql: "CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))" }); console.log("Table created");
In the table customers
we now enter the data in pairs MySQL Node.js:
con.connect(function(err) { if (err) throw err; console.log("Connected!"); var sql = "INSERT INTO customers (name, address) VALUES ?"; var values = [ ['John', 'Highway 71'], ['Peter', 'Lowstreet 4'], ['Amy', 'Apple st 652'], ['Hannah', 'Mountain 21'], ['Michael', 'Valley 345'], ['Sandy', 'Ocean blvd 2'], ['Betty', 'Green Grass 1'], ['Richard', 'Sky st 331'], ['Susan', 'One way 98'], ['Vicky', 'Yellow Garden 2'], ['Ben', 'Park Lane 38'], ['William', 'Central st 954'], ['Chuck', 'Main Road 989'], ['Viola', 'Sideway 1633'] ]; con.query(sql, [values], function (err, result) { if (err) throw err; console.log("Records inserted"); }); });
Enter data with Node.js MySQL Sculter.js:
const sculter = require("sculter.js"); sculter.send({ connect: ["localhost", "yourusername", "yourpassword", "mydb"], sql: "INSERT INTO customers (name, address) VALUES ?", values: [ ['John', 'Highway 71'], ['Peter', 'Lowstreet 4'], ['Amy', 'Apple st 652'], ['Hannah', 'Mountain 21'], ['Michael', 'Valley 345'], ['Sandy', 'Ocean blvd 2'], ['Betty', 'Green Grass 1'], ['Richard', 'Sky st 331'], ['Susan', 'One way 98'], ['Vicky', 'Yellow Garden 2'], ['Ben', 'Park Lane 38'], ['William', 'Central st 954'], ['Chuck', 'Main Road 989'], ['Viola', 'Sideway 1633'] ] }); console.log("Records inserted");
To verify that the data is stored, we output them to the JS console. We will do this in the first Node.js MySQL:
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "yourusername", password: "yourpassword", database: "mydb" }); con.connect(function(err) { if (err) throw err; con.query("SELECT * FROM customers", function (err, result, fields) { if (err) throw err; console.log(result); }); });
We extract data using Sculter.js:
const sculter = require("sculter.js"); sculter.send({ connect: ["localhost", "yourusername", "yourpassword", "mydb"], sql: "SELECT * FROM customers", outTo: "console" });
Results:
[ { id: 1, name: 'John', address: 'Highway 71'}, { id: 2, name: 'Peter', address: 'Lowstreet 4'}, { id: 3, name: 'Amy', address: 'Apple st 652'}, { id: 4, name: 'Hannah', address: 'Mountain 21'}, { id: 5, name: 'Michael', address: 'Valley 345'}, { id: 6, name: 'Sandy', address: 'Ocean blvd 2'}, { id: 7, name: 'Betty', address: 'Green Grass 1'}, { id: 8, name: 'Richard', address: 'Sky st 331'}, { id: 9, name: 'Susan', address: 'One way 98'}, { id: 10, name: 'Vicky', address: 'Yellow Garden 2'}, { id: 11, name: 'Ben', address: 'Park Lane 38'}, { id: 12, name: 'William', address: 'Central st 954'}, { id: 13, name: 'Chuck', address: 'Main Road 989'}, { id: 14, name: 'Viola', address: 'Sideway 1633'} ]
I liked the Node.js MySQL Sculter.js trio. Leave it in the comments which team you liked. (Maybe Sculter.js will help you too π)
Top comments (2)
Personally I would pick PostgreSQL but the others work fine too.
thanks