- Create Database

Node.js can be used in applications with MySQL database.
If you haven't MySQL database installed on your operating system, you can download a free MySQL database at:
//dev.mysql.com/downloads/mysql/

Once you have MySQL up and running on your computer, you can access it with Node.js.
To access a MySQL database with Node.js, you need a MySQL driver. This tutorial will use the "mysql" module, from NPM.
To install the "mysql" module, open the Command Line interface and execute the following:
npm install --save mysql
Now, you can connect to MySQL, and perform SQL queries in your Node.js applications.

Connect to MySQL

To connect to MySQL server, include "mysql" module (with require()), and use the mysql.createConnection() method, with the "username" and "password" from your MySQL database; then the connect() method to establish the connection.
- Here is an example of connecting to MySQL server:
const mysql = require('mysql');

const con = mysql.createConnection({
  host: 'localhost',
  user: 'name',
  password: 'pass'
});

con.connect(err=>{
  if(err) throw err;
  console.log('Connected to mysql');
});
Save the code above in a file called "mysql_con.js" (for example, in a "test/" folder in "nodejs") and run the file in command line interface:
node test/mysql_con.js
Which will give you this result:
Connected to mysql
- To terminate a connection, you can use the con.end() or con.destroy() method. The end() method takes a callback argument.
con.end(err=>{
  if(err) throw err;
  console.log('Connection is terminated');
});

Create Database

The connection object created in the example above ("con"), has a query() method for querying the database.
The query() method establishes the connection; it takes a sql statements as a parameter, and returns the result in a callback function.
Will use this method to perform SQL queries, to create the database, and to read from (or write to) a MySQL database.

To store data in MySQL, you need to create a database. You can create a database with the "CREATE DATABASE" statement.
- Lets create a database called "nodedb"
const mysql = require('mysql');

const con = mysql.createConnection({
  host: 'localhost',
  user: 'name',
  password: 'pass'
});

let sql ='CREATE DATABASE nodedb';

con.query(sql, (err, res)=>{
  if(err) throw err;
  console.log('Database created.', res);

  con.end(err=>{
    if(err) throw err;
    console.log('Connection is terminated');
  });
});
Save the code above in a file called "mysql_create_db.js" and run the file:
node test/mysql_create_db.js

If you notice that the default collation of MySql is set to "latin1_swedish_ci", to change the default collation to "utf8_general_ci" in MySql:
- Open the "my.ini" file (mysql/bin/my.ini), find the text [mysqld] and add these lines:

character-set-server = utf8
collation-server = utf8_general_ci

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which tag is used to add lists into <ul> and <ol> elements?
<dt> <dd> <li>
<ul>
 <li>http://coursesweb.net/html/</li>
 <li>http://coursesweb.net/css/</li>
</ul>
Which value of the "display" property creates a block box for the content and ads a bullet marker?
block list-item inline-block
.some_class {
  display: list-item;
}
Which instruction converts a JavaScript object into a JSON string.
JSON.parse() JSON.stringify eval()
var obj = {
 "courses": ["php", "javascript", "ajax"]
};
var jsonstr = JSON.stringify(obj);
alert(jsonstr);    // {"courses":["php","javascript","ajax"]}
Indicate the PHP class used to work with HTML and XML content in PHP.
stdClass PDO DOMDocument
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>';
$dochtml = new DOMDocument();
$dochtml->loadHTML($strhtml);
$elm = $dochtml->getElementById("dv1");
echo $elm->nodeValue;    // CoursesWeb.net
Node.js with MySQL Database

Last accessed pages

  1. setTimeout and this with bind() method in JavaScript class (622)
  2. Volume and Surface Area Calculator for 3D objects (7547)
  3. Convert XML to JSON in PHP (8415)
  4. Ajax click Tracking - Monitor clicks on html elements (608)
  5. Contact page - CoursesWeb (2471)

Popular pages this month

  1. Contact page - CoursesWeb (1957)
  2. Tabs effect with CSS (1944)
  3. Insert, Select and Update NULL value in MySQL (1038)
  4. Read Excel file data in PHP - PhpExcelReader (833)
  5. PHP getElementById and getElementsByTagName (513)