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

yizhihongxing

下面是详细的讲解“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日

相关文章

  • Java8新特性之再见Permgen_动力节点Java学院整理

    Java8新特性之再见Permgen – 完整攻略 介绍 Java8 是 Java 发展的一个重要里程碑。Java8 新增了很多实用的语法和功能,其中最重要的特性之一是永久带(Permgen)的消失,被元数据区取代。本篇文章将深入探讨这个新特性,并提供示例。 永久带与元数据区 在 Java 虚拟机的早期版本(1.7及以前)中,类的元数据信息存储在一个叫做“永…

    database 2023年5月21日
    00
  • Oracle数据库账号被锁定解决方法

    Oracle数据库账号被锁定解决方法 在使用Oracle数据库时,有时候会遇到数据库账号被锁定的情况,导致无法登录数据库。下面是解决方法。 1. 查看被锁定的账号 在Oracle数据库中,有一个系统级视图dba_users可以查看所有用户账号的信息。我们可以通过以下查询语句查看被锁定的账号: SELECT username, account_status F…

    database 2023年5月21日
    00
  • .net EF Core专题:EF Core 读取数据时发生了什么?

    .NET EF Core专题:EF Core 读取数据时发生了什么? 简介 Entity Framework Core(EF Core)是Entity Framework的一个重写版本,它是一个轻量级、可扩展、跨平台和开源的ORM(对象关系映射)框架。它可以用来与关系型数据库进行交互,并将关系型数据转换成对象形式的数据,从而帮助开发者更方便地进行数据库编程。…

    database 2023年5月22日
    00
  • 解决postgresql 数据库 update更新慢的原因

    解决 PostgreSQL 数据库 update 更新慢的原因可以从以下几个方面入手: 1. 确认索引是否存在 在进行更新时,若没有适当的索引,可能会导致扫描大量数据,从而增加更新的时间。因此,检查表所依赖的索引是否存在就显得尤为重要。 可以先使用 EXPLAIN 命令查看具体的查询计划,确认是否有使用合适的索引。若没有,可以使用 CREATE INDEX …

    database 2023年5月21日
    00
  • 图文并茂地讲解Mysql索引(index)

    下面我将为您详细讲解“图文并茂地讲解Mysql索引(index)”的完整攻略。 1. 什么是索引(index) 索引(index)是一种能够加快在数据库表中查找某列值的数据结构,它可以让数据库系统快速定位到包含查找值的行。在 MySQL 数据库中,主键(primary key index)就是一种特殊的索引。 2. 索引类型 MySQL 支持多种类型的索引,…

    database 2023年5月19日
    00
  • MySQL常见内置函数以及其使用教程

    MySQL常见内置函数以及其使用教程 MySQL是一个强大的关系型数据库管理系统,它提供了许多内置函数,让我们可以对数据库进行更灵活和高效的操作。在本文中,我们将介绍MySQL常见的内置函数以及它们的使用教程。 1. 字符串函数 1.1 CONCAT函数 CONCAT函数可以将多个字符串合并成一个字符串。其语法如下: CONCAT(string1, stri…

    database 2023年5月22日
    00
  • CentOS7使用rpm包安装mysql 5.7.18

    下面是CentOS7使用rpm包安装MySQL 5.7.18的完整攻略: 1. 下载MySQL rpm包 从官方下载站点(https://dev.mysql.com/downloads/mysql/)下载适用于CentOS7的MySQL rpm包。可以根据自己的需要选择不同的包,比如选择一个基于gcc编译的通用Linux RPM安装包。 下载完成后可将安装包…

    database 2023年5月22日
    00
  • 详细介绍windows下MySQL安装教程

    详细介绍windows下MySQL安装教程 MySQL是目前世界上最流行的开源关系型数据库管理系统,常被用来作为网站后台数据管理和存储的解决方案。在Windows操作系统下,安装MySQL可以实现本地开发环境的搭建,为后续的应用程序开发提供基础支持。以下是详细的MySQL安装教程: 下载MySQL安装包 首先,从MySQL官网https://dev.mysq…

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