Home > Web Front-end > Front-end Q&A > nodejs and mysql build project

nodejs and mysql build project

王林
Release: 2023-05-24 12:36:08
Original
646 people have browsed it

Node.js is a very popular server-side JavaScript platform, and MySQL is a popular open source relational database management system. In this article, we will explore how to build a project using Node.js and MySQL.

  1. Install Node.js and MySQL

Before starting the project, we need to install Node.js and MySQL first. Node.js can be downloaded from the official website, and installation is simple. MySQL can be downloaded and installed from the official website, or using third-party software such as XAMPP that comes with MySQL.

  1. Create a project

Creating a new project using Node.js is very simple. In the command line (Windows) or terminal (Mac/Linux), enter the following command:

npm init
Copy after login

This command will guide you to create a new project and prompt you to fill in the project name, version number, description and other information. After filling in the information as prompted, you will get a new package.json file.

  1. Install necessary modules

In the project we need to use other modules to help us complete some work. In the command line (Windows) or terminal (Mac/Linux), enter the following command to install the necessary modules:

npm install express mysql body-parser
Copy after login
  • Express is a popular Node.js framework that provides HTTP request and response processing, Features such as routing and template engines.
  • The MySQL module allows us to connect and interact with the MySQL database.
  • The body-parser module helps us process the request body sent to the server.
  1. Creating a MySQL database

Creating a new database in MySQL is very simple. Open the MySQL command line and enter the following command:

CREATE DATABASE database_name;
Copy after login

Please replace database_name with the actual database name in your project.

  1. Connecting to MySQL database

The following are the steps to connect to MySQL database:

  • Create a MySQL connection

Create a new connection using the Node.js and MySQL modules as follows:

var mysql = require('mysql');
var connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'database_name'
});

connection.connect();
Copy after login

Please replace database_name, root and password with your database name, username and password. If your MySQL database uses a different port number, you need to add the port attribute to the connection options.

  • Query the database

Query the database using the following method:

connection.query('SELECT * FROM table_name', function (error, results, fields) {
  if (error) throw error;
  console.log('The solution is: ', results[0].solution);
});

connection.end();
Copy after login

Please replace table_name with your table name.

In this example, we query all rows in table table_name and print the first solution in the console using console.log(). Note that we also close the connection at the end of the query.

  1. Creating an Express application

We create a new application using the Express framework. Create a new JavaScript file in your home directory, name it app.js, and add the following code:

var express = require('express');
var app = express();
var bodyParser = require('body-parser');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});
Copy after login

This code will create a new Express application listening on local port 3000. Accessing http://localhost:3000/ will return "Hello World!".

  1. Create MySQL query

Add the following code and the MySQL query will happen in Node.js and Express:

app.get('/users', function (req, res) {

  connection.query('SELECT * FROM users', function (error, results, fields) {
    if (error) throw error;
    res.send(results);
  });
});
Copy after login

This code will be in the application Execute a MySQL query in the /users route and return the results when the query completes. Please replace users with your table name.

  1. Creating a POST request

Creating a POST request in Express is very simple. Add the following code:

app.post('/adduser', function (req, res) {

  var user = {
    username: req.body.username,
    email: req.body.email
  };

  connection.query('INSERT INTO users SET ?', user, function (error, results, fields) {
    if (error) throw error;
    res.send('User added successfully');
  });
});
Copy after login

This code will create a new /users route, handle the POST request, and include a key named username and email in the request body. The code will use a MySQL query to insert the user into the database.

  1. Run the application

Run the following command in your home directory:

node app.js
Copy after login

This command will launch our application and print it in the terminal "Example app listening on port 3000!".

Now you can visit http://localhost:3000/users in your browser to gain access to the user list in the MySQL database. In a POST request, you can use Postman or a similar tool to send data to a native server, which will insert the data into a MySQL database.

Summary

It is very convenient to build projects using Node.js and MySQL. We can use Node.js’s module manager and package manager to handle dependencies and easily connect to a MySQL database using the MySQL module. By using the Express framework, we can also create flexible applications and write routes to handle HTTP requests and responses. Combining these technologies, we can quickly build a complete project.

The above is the detailed content of nodejs and mysql build project. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template