- 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 in <table> to create table header cell?
<thead> <th> <td>
<table><tr>
  <th>Title 1</th>
  <th>Title 2</th>
</tr></table>
Which CSS property sets the distance between lines?
line-height word-spacing margin
.some_class {
  line-height: 150%;
}
Which function opens a new browser window.
alert() confirm() open()
document.getElementById("id_button").onclick = function(){
  window.open("http://coursesweb.net/");
}
Indicate the PHP function that returns an array with names of the files and folders inside a directory.
mkdir() scandir() readdir()
$ar_dir = scandir("dir_name");
var_export($ar_dir);
Node.js with MySQL Database

Last accessed pages

  1. Dynamic variables in JavaScript (5104)
  2. Qwop (65646)
  3. PhpSpreadsheet - Read, Write Excel and LibreOffice Calc files (3116)
  4. Drag Racer V3 (28854)
  5. Register and show online users and visitors (19320)

Popular pages this month

  1. Qwop (3144)
  2. Get Attribute (ID, Class, Name, Title, Src) with jQuery (2525)
  3. Get the value of the selected /checked checkboxes in a form (1595)
  4. Insert, Select and Update NULL value in MySQL (1411)
  5. Add, Change, and Remove Attributes with jQuery (1292)