Day 29 – SQL Database with Node js - Learning Node JS In 30 Days [Mini series]
Tags: node, javascript, codenewbie, tutorial
Published: 2020-01-01 17:58:25

Before coming this part of tutorial, we never talked about the database. Actually it was a basic course so I never tell anything about the database. Just wanted to make pure node js tutorial.

Today we’re going to learn how can we add a sql database with express js.

It’s pretty easy, but we need a npm package for it. Actually multiple package for it.

For the sql connection. There are some packages
- Knex.js
- Sqorn
- squel
- Objection.js
and many more
I personally used knex.js and objection.js. Objection actually based on knex, it has some extra benefits so I used it some projects.

Knex is good choice, beacause it has an amazing documentation. Which is pretty easy to follow.

Installing is pretty easy. As like others. But you need to install the database too. Like what you are using – mysql or postgresql or sqlite

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/gmbbozlmyho09xv5x8jp.png)

Connecting is easy too, just changing the credentials will be okay.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/w2wqxx5w6zgprs91sriz.png)

You can write RAW sql with the knex too. http://knexjs.org/#Raw-Expressions

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/yhcsc5e7z6rf001r60oe.png)

###which one you want to use ?

You can see the graphical version here
{% instagram B6x1iKqgD2T %}

Originally it published on [nerdjfpbblog](https://blog.nerdjfpb.com/day29-nodejsin30days/). You can connect with me in [twitter](https://twitter.com/nerdjfpb) or [linkedin](https://www.linkedin.com/in/nerdjfpb/) !


###__You can read the old posts from this series (below)__

{% post nerdjfpb/day-1-learning-node-js-in-30-days-mini-series-55e7 %}

{% post nerdjfpb/day-2-learning-node-js-in-30-days-mini-series-5023 %}

{% post nerdjfpb/day-3-learning-node-js-in-30-days-mini-series-24i4 %}

{% post nerdjfpb/day-4-learning-node-js-in-30-days-mini-series-1koc %}

{% post nerdjfpb/day-5-learning-node-js-in-30-days-mini-series-21jm %}

{% post nerdjfpb/day-6-learning-node-js-in-30-days-mini-series-758 %}

{% post nerdjfpb/day-7-learning-node-js-in-30-days-mini-series-3023 %}

{% post nerdjfpb/day-8-var-vs-let-vs-const-learning-node-js-in-30-days-mini-series-1i72 %}

{% post nerdjfpb/day-9-mastering-eventemitter-learning-node-js-in-30-days-mini-series-2dfe %}

{% post nerdjfpb/day-10-mastering-eventemitter-learning-node-js-in-30-days-mini-series-2802 %}

{% post nerdjfpb/day-11-creating-and-deleting-folders-learning-node-js-in-30-days-mini-series-3a2d %}

{% post nerdjfpb/day-12-creating-own-server-learning-node-js-in-30-days-mini-series-3ef %}

{% post nerdjfpb/day-13-buffer-stream-learning-node-js-in-30-days-mini-series-5c5d %}

{% post nerdjfpb/day-14-serving-html-pages-learning-node-js-in-30-days-mini-series-2hl3 %}

{% post nerdjfpb/day-15-sending-json-to-client-learning-node-js-in-30-days-mini-series-21pc %}

{% post nerdjfpb/day-16-routing-basic-learning-node-js-in-30-days-mini-series-5hk6 %}

{% post nerdjfpb/day-17-npm-node-package-manager-learning-node-js-in-30-days-mini-series-1nek %}

{% post nerdjfpb/day-18-why-express-js-learning-node-js-in-30-days-mini-series-b5a %}

{% post nerdjfpb/day-19-nodemon-learning-node-js-in-30-days-mini-series-m39 %}

{% post nerdjfpb/day-20-express-js-introduction-learning-node-js-in-30-days-mini-series-2pg5 %}

{% post nerdjfpb/day-21-http-methods-learning-node-js-in-30-days-mini-series-hci %}

{% post nerdjfpb/day-22-route-parameters-learning-node-js-in-30-days-mini-series-4knk %}

{% post nerdjfpb/day-23-template-engines-learning-node-js-in-30-days-mini-series-4f7d %}

{% post nerdjfpb/day-24-working-with-ejs-part-1-learning-node-js-in-30-days-mini-series-493 %}

{% post nerdjfpb/day-25-working-with-ejs-part-2-learning-node-js-in-30-days-mini-series-19gp %}

{% post nerdjfpb/day-26-working-with-ejs-part-3-learning-node-js-in-30-days-mini-series-1ofd %}

{% post nerdjfpb/day-26-working-with-ejs-part-3-learning-node-js-in-30-days-mini-series-1ofd %}

{% post nerdjfpb/day-27-working-with-static-files-learning-node-js-in-30-days-mini-series-5h1f %}

{% post nerdjfpb/day-28-middlewares-learning-node-js-in-30-days-mini-series-461b %}