Connecting to a MySQL database in NodeJS is actually quite simple. First off, you'll need to make sure you have a local MySQL server on your machine and then you can follow these steps.

To start off you'll want to create a new folder, navigate to that folder in a shell prompt, and then install the NodeJS Mysql package

npm i mysql

Next, create a new file called index.js inside of our new folder with the following contents:

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "127.0.0.1",
  user: "root",
  password: ""
});

connection.connect(function(err) {
  if (err) throw err;
  console.log("Connected to MySQL Database");
});

Make sure that you've changed your database credentials in the createConnection object, and then run the following command in terminal:

node index.js

You should see a message output that says Connected to MySQL Database . And just like that you've successfully connected to your local MySQL server.

Next, we'll see how we can run a query to fetch some rows from a database. Go ahead and create a new database. In this example I am going to create a database with the name of nodemysql, I'm also going to create a table called users, with 2 columns. A primary id and a name column.

We'll need to add some dummy data into our new table. So, I will add the following data to my table:

Finally, in order to connect to our database and list out our users we can modify our index.js file to look like:

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "127.0.0.1",
  user: "root",
  password: "",
  database: "nodemysql"
});

connection.connect(function(err) {
  if (err) throw err;
  connection.query("SELECT * FROM users", function (err, result, fields) {
    if (err) throw err;
    console.log(result);
  });
});

Now we can run node index.js again, and we'll get the following output displaying the users inside of our database:

And that's the basics of creating a MySQL connection in Node JS and running a simple select query. Very simple, right? There are obviously a lot more complicated logic you will want to perform after fetching data from the database, but that's all dependent upon how you want your application to function.

Login

or Sign Up

Sign Up

or Login
×
Want to create your own SAAS?

I can teach you to create your own Software as a Service. Click here to learn more!

Visit SAAS Adventure!