Node.js Programming Tutorials

Node.js Quickies – Working with MySQL

In this tutorial I’ll give you a quick overview on how to work with MySQL and Node.js.

Firstly, you need to include the mysql package in your package.json file, under “dependencies”. Make sure you run “npm install” to download all your project’s dependencies.

Like with many things in life, you start by establishing a connection:

This is how you can select data:

How about updating data:

Why you so asynchronous?

The main difference between working with MySQL in Node.js and other web application technologies such as PHP, is that in Node these calls are asynchronous. In PHP, once you do a query, the script execution will stop until the database has responded to the query. In Node, on the other hand, the query is an asynchronous call, so the script keeps on going.

If you are doing many queries and the asynchronous nature of it becomes too complex it’s worth looking into using Promises. I’ll cover promises using the Q package in another tutorial.

You can learn more about node-mysql by checking out it’s Github repo.

Published by

Pablo Farias Navarro

Pablo is a web + mobile app developer and entrepreneur. Pablo is the founder of ZENVA. Besides teaching online how to create games, apps and websites to over 85,000 students, Pablo has created content for companies such as Amazon and Intel.ZENVA runs four development communities featuring game, web and mobile app development tutorials: Zenva Academy, GameDev Academy, HTML5 Hive (also known as "the hive"), and for Spanish speakers, De Idea A App.Pablo holds a Master in Information Technology (Management) degree from the University of Queensland (Australia) and a Master of Science in Engineering degree from the Catholic University of Chile. Specialized in web, mobile application and game development.

Share this article

Leave a Reply

1 Comment on "Node.js Quickies – Working with MySQL"

Notify of
Sort by:   newest | oldest | most voted
Samy Terki
By the way, this is my code: package com.example.lafabriquedumetro.suivichantier; import; import android.location.Location; import; import; import; import; import; import; import; import android.os.Bundle; import; import; import; import; import entity.ConstructionSiteEntity; import entity.ConstructionSitesEntity; import fragment.Launcher; import service.ConstructionSiteService; import android.Manifest; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener{ private static final int PERMISSION_ACCESS_COARSE_LOCATION = 1; private GoogleApiClient googleApiClient; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.ACCESS_COARSE_LOCATION }, PERMISSION_ACCESS_COARSE_LOCATION); } googleApiClient = new GoogleApiClient.Builder(this, this, this).addApi(LocationServices.API).build(); final FragmentManager fragmentManager = getSupportFragmentManager();… Read more »