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日

相关文章

  • 使用Docker制作Python环境连接Oracle镜像

    下面是使用Docker制作Python环境连接Oracle镜像的完整攻略。 准备工作 在开始制作镜像之前,需要安装以下软件: Docker Oracle Instant Client 在安装完以上软件之后,需要先编写一个Dockerfile文件,内容如下: FROM python:3.7-slim RUN apt-get update \ &&amp…

    database 2023年5月22日
    00
  • Elasticsearch 和 MS SQL 的区别

    Elasticsearch和MS SQL是两种不同类型的数据库,具有不同的特点和用途。以下是它们之间的区别和相应的实例说明: 数据结构: Elasticsearch是一种搜索引擎,并且支持非结构化数据,它使用文档对象模型(DOM)存储数据。Elasticsearch可以自动创建索引,并且支持实时搜索和分析。 举个例子:在Elasticsearch中存储一份文…

    database 2023年3月27日
    00
  • MySQL数据库中delimiter的作用概述

    以下的文章主要是向大家描述的是MySQL数据库中delimiter的作用是什么?我们一般都认为这个命令和存储过程关系不大,到底是不是这样的呢?以下的文章将会给你相关的知识,望你会有所收获。 其实就是告诉MySQL解释器,该段命令是否已经结束了,MySQL数据库是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,…

    MySQL 2023年4月13日
    00
  • 如何使用Python在MySQL中使用时间戳?

    在MySQL中,可以使用时间戳来存储日期和时间信息。在Python中,可以使用MySQL连接来执行时间戳查询。以下是在Python中使用时间戳的完整攻略,包括时间戳的基本语法、使用时间戳的示例以及如何在中使用时间戳。 时间戳的基本语法 在MySQL中,可以使用TIMESTAMP数据类型来存储日期和时间信息。以下是创建TIMESTAMP`列的基本语法: CRE…

    python 2023年5月12日
    00
  • oracle备份之备份测试脚本的方法(冷备、热备、rman)

    Oracle备份之备份测试脚本的方法 备份是Oracle数据库维护中非常重要的一环,而备份测试是保证备份可靠性和可恢复性的重要手段之一。本文将详细讲解备份测试脚本的制作方法以及测试流程,包括冷备、热备、RMAN备份三种方式。 冷备 冷备份是指在Oracle数据库关闭状态下进行的备份。具体步骤如下: 停止Oracle数据库服务。 将整个数据库目录打包或复制到另…

    database 2023年5月22日
    00
  • 如何使用Python实现按照条件查询数据库数据?

    以下是使用Python实现按照条件查询数据库数据的完整攻略。 按照条件查询简介 按照条件查询是指在数据库中查询符特定条件的数据。在Python中,可以使用pymysql库实现按照条件查询数据库数据。 步骤1:连接到数据库 在Python中,可以使用pymysql库到MySQL数据库。以下是连接到MySQL数据库的基本语法: import pymysql db…

    python 2023年5月12日
    00
  • 宝塔Linux面板 2.8.9稳定版介绍

    宝塔Linux面板 2.8.9稳定版介绍 宝塔Linux面板是一款非常受欢迎的服务器面板,它将各种常用的管理工具和功能集合到一起,对于通过SSH等方式管理Linux服务器有一定难度的用户而言,使用宝塔Linux面板可以大大简化管理流程。 安装宝塔Linux面板 系统要求 宝塔Linux面板支持多种Linux发行版,包括CentOS、Debian、Ubuntu…

    database 2023年5月22日
    00
  • Linux安装redis并且连接内网的redis

    1.安装redis步骤 1.首先准备工作  [root@10-100-14-130 ~]# yum install gcc-c++   yum install wget 2.推荐进入到linux路径/usr/local/src  [root@10-100-14-130 ~]#wget http://download.redis.io/releases/red…

    Redis 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部