Node.js MySQL CRUD示例

在本教程中,我们将通过创建连接并执行SQL查询以执行CRUD(创建,读取,更新和删除)操作学习如何在Node.js中使用MySQL 。

MySQL是领先的开源数据库管理系统。它是一个多用户,多线程的数据库管理系统。MySQL在网络上特别流行。该 node.js中是构建服务器端应用程序的完整平台。
确保您的计算机上安装了MySQL。您可以从https://www.mysql.com/downloads/下载免费的MySQL数据库 。

设置MySQL数据库

确保已在计算机中安装了MySQL数据库。
使用以下命令创建数据库:
create database demo;
使用下面的SQL脚本在“ demo ”数据库中创建 todos 表:
CREATE TABLE `todos` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `description` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ;

1.创建一个Node.js项目

让我们开始创建我们的node.js项目。首先,使用以下命令为您的项目创建一个文件夹:
$ mkdir node-mysql-crud-tutorial
转到应用程序的根文件夹,然后键入npm init以使用package.json文件初始化您的应用程序。

$ cd node-mysql-crud-tutorial
$ npm init -y
这将创建一个具有默认值的package.json:
{
  "name": "nodejs-mysql-crud-tutorial",
  "version": "1.0.0",
  "description": "NodeJS + MySQL CRUD Example Tutorial",
  "main": "server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "NodeJs",
    "MySQL",
    "CRUD"
  ],
  "author": "Ramesh Fadatare",
  "license": "ISC",
  "dependencies": {
    "mysql": "^2.18.1"
  }
}

2.安装MySQL驱动程序

要下载并安装“ mysql”模块,请打开“命令终端”并执行以下命令:
$npm install mysql --save
现在,您已经下载并安装了MySQL数据库驱动程序。
Node.js可以使用此模块来操作MySQL数据库:
var mysql = require('mysql');

3.执行CRUD操作

CRUD代表创建,读取,更新和删除,它指的是大多数数据驱动的应用程序中使用的常见操作。
  • 我们使用INSERT语句在数据库表中创建数据。
  • 我们使用SELECT语句从数据库表中读取数据。
  • 我们使用UPDATE语句更新数据库表中的数据。
  • 我们使用DELETE语句从数据库表中删除数据。

3.1创建/插入数据

让我们创建一个名为“ insert-record.js”的文件,并向其中添加以下代码:
 
const mysql = require('mysql');
// connection configurations
const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'demo'
});

// connect to database
connection.connect(function (err) {
    if (err) throw err
    console.log('You are now connected with mysql database...')
});

let params = {
    name: "Todo 1",
    description: "Todo 1 description"
}

connection.query("INSERT INTO todos SET ? ", params,
    function (error, results, fields) {
        if (error) throw error;
        console.log("Record inserted");
    });
 
使用以下命令运行以上代码:
$ node .\insert-record.js
You are now connected with mysql database...
Record inserted

3.2读取/选择数据

让我们创建一个名为“ read-record.js”的文件,并向其中添加以下代码:
const mysql = require('mysql');
// connection configurations
const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'demo'
});

// connect to database
connection.connect(function (err) {
    if (err)
        throw err
    console.log('You are now connected with mysql database...')
});

// Retrieve and return all todos from the database.

connection.query('select * from todos',
        function (error, results, fields) {
            if (error)
                throw error;
            console.log(JSON.stringify(results));
        });

 

使用以下命令运行以上代码:
$ node .\read-record.js
You are now connected with mysql database...
[{"id":2,"name":"Learn Advanced Express.js ","description":"Learn Advanced Express.js with examples"},{"id":3,"name":"Todo 2","description":"Todo 2 description"},{"id":5,"name":"Todo 1","description":"Todo 1 description"}]

3.3更新数据

让我们创建一个名为“ update-record.js”的文件,并向其中添加以下代码:
const mysql = require('mysql');
// connection configurations
const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'demo'
});

// connect to database
connection.connect(function (err) {
    if (err)
        throw err
    console.log('You are now connected with mysql database...')
});

let params = {
    name: "Todo 2",
    description: "Todo 2 description"
}

connection.query('UPDATE `todos` SET `name`=?,`description`=? where `id`=?',
        [params.name, params.description, 3],
        function (error, results, fields) {
            if (error)
                throw error;
            console.log("Record updated!");
        });
使用以下命令运行以上代码:
$ node .\update-record.js
You are now connected with mysql database...
Record updated!

3.4删除数据

让我们创建一个名为“ delete-record.js”的文件,并向其中添加以下代码:
const mysql = require('mysql');
// connection configurations
const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'demo'
});

// connect to database
connection.connect(function (err) {
    if (err)
        throw err
    console.log('You are now connected with mysql database...')
});

let params = {
    name: "Todo 1",
    description: "Todo 1 description"
}

connection.query(
        'DELETE FROM todos where id = ?', [3], (err, result) => {
    if (err)
        throw err;
    console.log(result);
}
);
使用以下命令运行以上代码:
$ node .\delete-record.js
You are now connected with mysql database...
OkPacket {
  fieldCount: 0,
  affectedRows: 0,
  insertId: 0,
  serverStatus: 2,
  warningCount: 0,
  message: '',
  protocol41: true,
  changedRows: 0 }

结论

在本教程中,您创建了一个简单的CRUD示例,该示例演示了如何通过SQL select,insert,update和delete语句执行基本的创建,读取,更新和删除操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值