📜  Node.js后端连接MySql数据库

📅  最后修改于: 2022-05-13 01:55:02.960000             🧑  作者: Mango

Node.js后端连接MySql数据库

我们可以将 Node.js 后端中的 MySQL 数据库与mysql模块链接起来。该模块有助于将我们的数据库与后端服务器连接以存储数据。

先决条件:

  • 在您的系统中正确安装节点。
  • 在您的系统中正确安装了 npm(节点包管理器)。
  • MySQL 服务器安装在您的系统中。

模块安装:下载安装mysql模块,打开命令终端,执行以下命令:

npm install mysql

创建连接和数据库:首先通过将数据库名称创建为gfg 来创建与数据库的连接。使用 MySQL 数据库gfg中的用户名和密码。

文件名:db.js

Javascript
var mysql = require('mysql');
  
var con = mysql.createConnection({
    host: "localhost",
    user: "yourusername",
    password: "yourpassword"
});
  
// Created the Connection
/*con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
});*/
  
// Created the Database named as "gfg"
con.connect(function (err) {
    if (err) throw err;
    console.log("Connected!");
  
    con.query("CREATE DATABASE gfg",
        function (err, result) {
            if (err) throw err;
            console.log("Database created");
        });
});


Javascript
var mysql = require('mysql');
var con = mysql.createConnection({
    host: "localhost",
    user: "yourusername",
    password: "yourpassword",
    database: "gfg"
});
  
con.connect(function (err) {
    if (err) throw err;
    console.log("Connected!");
  
    // var sql = "CREATE TABLE 
    // geeksforgeeks (name VARCHAR(255),
    // address VARCHAR(255))";
  
    // var sql = "ALTER TABLE 
    // geeksforgeeks ADD COLUMN id INT 
    // AUTO_INCREMENT PRIMARY KEY";
  
    var sql1 = "CREATE TABLE geeksforgeeks "
        + "(id INT AUTO_INCREMENT PRIMARY KEY," +
        " name VARCHAR(255), address VARCHAR(255))";
  
    var sql2 = "INSERT INTO geeksforgeeks (name, "
        + "address) VALUES ('Company Inc', "
        + "'Highway 37')";
  
    var sql3 = "SELECT * FROM geeksforgeeks "
        + "WHERE address = 'Highway 37'";
  
    con.query(sql1, function (err, result) {
        if (err) throw err;
        console.log("Table created");
    });
  
    con.query(sql2, function (err, result) {
        if (err) throw err;
        console.log("Insertion Successful");
    });
  
    con.query(sql3, function (err, result) {
        if (err) throw err;
        console.log(result);
    });
});


使用以下命令运行db.js文件:

node db.js

上述命令的输出

查询数据库:使用 SQL 语句读取(或写入)MySQL 数据库。这也称为“查询”数据库。上面例子中创建的连接对象有一个查询数据库的方法。

现在让我们通过将表名称创建为“geeksforgeeks”来创建一个名为 table.js 的新文件。

文件名:table.js

Javascript

var mysql = require('mysql');
var con = mysql.createConnection({
    host: "localhost",
    user: "yourusername",
    password: "yourpassword",
    database: "gfg"
});
  
con.connect(function (err) {
    if (err) throw err;
    console.log("Connected!");
  
    // var sql = "CREATE TABLE 
    // geeksforgeeks (name VARCHAR(255),
    // address VARCHAR(255))";
  
    // var sql = "ALTER TABLE 
    // geeksforgeeks ADD COLUMN id INT 
    // AUTO_INCREMENT PRIMARY KEY";
  
    var sql1 = "CREATE TABLE geeksforgeeks "
        + "(id INT AUTO_INCREMENT PRIMARY KEY," +
        " name VARCHAR(255), address VARCHAR(255))";
  
    var sql2 = "INSERT INTO geeksforgeeks (name, "
        + "address) VALUES ('Company Inc', "
        + "'Highway 37')";
  
    var sql3 = "SELECT * FROM geeksforgeeks "
        + "WHERE address = 'Highway 37'";
  
    con.query(sql1, function (err, result) {
        if (err) throw err;
        console.log("Table created");
    });
  
    con.query(sql2, function (err, result) {
        if (err) throw err;
        console.log("Insertion Successful");
    });
  
    con.query(sql3, function (err, result) {
        if (err) throw err;
        console.log(result);
    });
});

使用以下命令运行table.js文件:

node table.js

我们将创建表,插入记录,并根据要求进行查询。这样,我们就创建了数据库、表,并完成了插入记录后的查询。