nodejs操作mysql实现增删改查的实例

下面是详细的讲解“Node.js操作MySQL实现增删改查的实例”的完整攻略。

1.安装必要的模块

要使用Node.js操作MySQL,需要安装node.js的mysql模块。可以使用npm安装:

npm install mysql

2.连接MySQL数据库

在连接MySQL之前,需要先安装并启动MySQL数据库,同时还需要在MySQL中创建数据库和数据表。以下是创建数据库和数据表的示例SQL语句:

CREATE DATABASE nodejsdb;
USE nodejsdb;
CREATE TABLE user(
id INT(11) AUTO_INCREMENT,
name VARCHAR(50),
age INT(11),
PRIMARY KEY(id)
);

接着可以使用以下代码连接MySQL数据库:

const mysql = require('mysql');
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: '密码',
  database: 'nodejsdb'
});

connection.connect((error) => {
  if (error) throw error;
  console.log('已成功连接到MySQL数据库!');
});

3.实现增加(INSERT)操作

以下是插入一条数据的示例代码:

const user = { name: '张三', age: 20 };
connection.query('INSERT INTO user SET ?', user, (error, results, fields) => {
  if (error) throw error;
  console.log('已成功插入一条数据。');
  console.log('插入的数据编号为:', results.insertId);
});

4.实现查询(SELECT)操作

以下是查询数据的示例代码:

connection.query('SELECT * FROM user', (error, results, fields) => {
  if (error) throw error;
  console.log('查询到的数据如下:');
  console.log(results);
});

5.实现删除(DELETE)操作

以下是删除数据的示例代码:

const id = 1;
connection.query('DELETE FROM user WHERE id = ?', id, (error, results, fields) => {
  if (error) throw error;
  console.log(results.affectedRows + ' 条数据已成功删除。');
});

6.实现更新(UPDATE)操作

以下是更新数据的示例代码:

const id = 2;
const user = { name: '李四', age: 25 };
connection.query('UPDATE user SET ? WHERE id = ?', [user, id], (error, results, fields) => {
  if (error) throw error;
  console.log(results.affectedRows + ' 条数据已成功更新。');
});

示例说明

下面给出两个示例,分别演示了如何从MySQL中查询并展示数据以及如何插入新的数据。

示例一:查询并展示数据

下面是一个简单的 Node.js 程序,它查询一个表中所有的数据,并将查询结果转换成HTML格式展示在网页上:

const http = require('http');
const mysql = require('mysql');

const connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '密码',
  database : 'testdb'
});

connection.connect((err) => {
  if (err) throw err;
  console.log('已成功连接到MySQL数据库!');
});

http.createServer((request, response) => {
  response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
  connection.query('SELECT * FROM user', (error, results, fields) => {
    if (error) throw error;
    let html = '<html><head><title>用户列表</title></head><body><table>';
    html += '<tr><th>编号</th><th>姓名</th><th>年龄</th></tr>';
    for (const user of results) {
      html += `<tr><td>${user.id}</td><td>${user.name}</td><td>${user.age}</td></tr>`;
    }
    html += '</table></body></html>';
    response.write(html);
    response.end();
  });
}).listen(8080);

console.log('服务器已经启动,监听 8080 端口。');

从浏览器访问 http://localhost:8080/ 即可看到查询结果。

示例二:插入新的数据

下面是一个简单的 Node.js 程序,它会向一个表中插入一条新的数据:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '密码',
  database : 'testdb'
});

connection.connect((err) => {
  if (err) throw err;
  console.log('已成功连接到MySQL数据库!');
});

const user = { name: '王五', age: 30 };
connection.query('INSERT INTO user SET ?', user, (error, results, fields) => {
  if (error) throw error;
  console.log('已成功插入一条数据。');
  console.log('插入的数据编号为:', results.insertId);
});

connection.end();

运行该程序即可插入一条新的数据到user表中。在命令行终端中执行 node insert.js 即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nodejs操作mysql实现增删改查的实例 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • minio安装部署及使用的详细过程

    下面我就来给您介绍一下“minio安装部署及使用的详细过程”的完整攻略: 一、安装minio 1.获取并解压minio二进制文件 wget https://dl.minio.io/server/minio/release/linux-amd64/minio chmod +x minio 2.运行minio ./minio server /data 二、使用m…

    database 2023年5月22日
    00
  • SQL注入全过程深入分析

    SQL注入全过程深入分析 简介 SQL注入攻击是当前Web应用程序中最常见的漏洞之一。攻击者通过构造恶意输入,可以在不经过任何授权的情况下,绕过身份认证和访问控制机制,直接访问和操作数据库。本文将分析SQL注入攻击的全过程,指出其危害性,并提供防御方案。 SQL注入攻击的过程 攻击者探测目标站点的漏洞点 攻击者通过使用常见的Web应用程序漏洞扫描工具或自定义…

    database 2023年5月21日
    00
  • MySQL时间设置注意事项的深入总结

    MySQL时间设置注意事项的深入总结 为什么需要设置和关注MySQL时间? 在MySQL数据库中,时间对于数据的记录和查询是至关重要的。正确的时间设置和合理的使用方式可以避免各种时间相关的问题,比如数据不一致、查询结果错误等。 MySQL时间的设置 1. 设置时区 在MySQL中,时区的设置对于时间的正确性至关重要。MySQL服务器的默认时区是系统时间。如果…

    database 2023年5月22日
    00
  • MySQL中Truncate用法详解

    MySQL中Truncate用法详解 什么是Truncate命令 Truncate是MySQL中一种清除表中数据的命令。它类似于DELETE,但是它执行的速度更快。Truncate命令可以清空表中全部数据,并且表结构不会被删除。 Truncate命令的使用方法 Truncate使用方法如下: TRUNCATE TABLE 表名称 使用示例1: TRUNCAT…

    database 2023年5月22日
    00
  • SQL Server索引设计基础知识详解使用

    SQL Server索引设计基础知识详解使用 索引的基本概念 索引是数据库中用于快速查找数据的数据结构,类似于书籍的目录。索引可以提升查询效率,加快数据的检索速度。 SQL Server支持多种类型的索引,包括聚集索引、非聚集索引、空间索引等。其中,聚集索引是基于表的主键构建的,可以保证行的唯一性,并按照指定的字段顺序对表进行排序。非聚集索引则是基于数据表的…

    database 2023年5月21日
    00
  • 详解Redis数据备份和还原方法

    Redis数据备份和还原是在Redis服务器中执行的一种操作,我们通过这种操作可以将Redis数据库的内容备份到磁盘上,以便于在需要时进行还原。 Redis数据备份 Redis数据备份是通过两种方式进行的,分别是RDB和AOF。 RDB备份 RDB是Redis数据库的默认备份方式。使用RDB备份方式备份Redis数据库时,Redis会将数据库的当前状态写入到…

    Redis 2023年3月21日
    00
  • MySQL数据库入门之备份数据库操作详解

    MySQL数据库入门之备份数据库操作详解 在数据库管理中,备份数据库是至关重要的操作,一旦数据丢失或被损坏,备份数据就可以发挥极大的作用。MySQL数据库是目前最流行的开源数据库之一,在备份数据库方面也提供了多种途径和工具,下面我们就来详细讲解一下。 为什么备份数据库很重要? 在数据库管理中,备份是最基本的操作之一,备份数据库可以很好的保护我们数据的安全。当…

    database 2023年5月21日
    00
  • MySQL教程DML数据操纵语言示例详解

    MySQL教程DML数据操纵语言示例详解 介绍 本文将详细讲解MySQL的DML数据操纵语言,包含INSERT、UPDATE、DELETE等命令的使用方式以及示例说明。 INSERT命令 INSERT命令用于添加新的数据行到表中。下面是一个简单的示例: INSERT INTO customers(name, email, phone) VALUES(‘Joh…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部