node.js对于数据库MySQL基本操作实例总结【增删改查】

下面是 “node.js对于数据库MySQL基本操作实例总结【增删改查】” 的完整攻略。

一、前置知识

在学习本文之前,需要掌握以下知识点:

  • Node.js 基础知识
  • MySQL数据库基础知识
  • Node.js连接MySQL的方法

二、环境搭建

在 node.js 项目中使用 MySQL,需要使用到 node.js 驱动程序。本文中我们使用 mysql 驱动,可通过 npm 安装。

在命令行窗口中输入以下命令进行安装:

npm install mysql --save

三、实现增删改查

连接数据库

在使用 mysql 驱动之前,需要先连接到数据库。连接过程包括配置数据库连接信息和创建数据库连接。代码如下:

const mysql = require('mysql');
const connection = mysql.createConnection({
  host: 'localhost',     //主机名
  port: 3306,            //端口号
  user: 'root',          //用户名
  password: '123456',    //密码
  database: 'test'       //数据库名
});

//连接数据库
connection.connect((err) => {
  if (err) {
    console.error('error connecting: ' + err.stack);
    return;
  }
  console.log('connected as id ' + connection.threadId);
});

插入数据

使用 SQL 语句插入一条数据,使用 mysql 驱动的 query() 方法即可。代码如下:

connection.query('insert into user set ?', { name: 'Tom', age: 18 }, (error, results, fields) => {
  if (error) throw error;
  console.log('插入成功');
  console.log(results);
});

查询数据

使用 SQL 语句查询数据,查询结果作为回调函数的第二个参数返回。代码如下:

connection.query('select * from user', (error, results, fields) => {
  if (error) throw error;
  console.log('查询结果为:');
  console.log(results);
});

更新数据

使用 SQL 语句更新一条数据,使用 mysql 驱动的 query() 方法即可。代码如下:

connection.query('update user set age=? where name=?', [20, 'Tom'], (error, results, fields) => {
  if (error) throw error;
  console.log('更新成功');
  console.log(results);
});

删除数据

使用 SQL 语句删除一条数据,使用 mysql 驱动的 query() 方法即可。代码如下:

connection.query('delete from user where name=?', ['Tom'], (error, results, fields) => {
  if (error) throw error;
  console.log('删除成功');
  console.log(results);
});

四、示例说明

示例一

假设我们有一个名为 users 的表,包含以下字段:

  • id:主键,自增长
  • name:姓名,不唯一
  • age:年龄,整型

我们可以使用以下代码创建表:

CREATE TABLE `users` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

然后我们可以使用以下代码插入一条数据并查询:

connection.query('insert into users set ?', { name: 'Tom', age: 18 }, (error, results, fields) => {
  if (error) throw error;
  console.log('插入成功');
  console.log(results);
});

connection.query('select * from users', (error, results, fields) => {
  if (error) throw error;
  console.log('查询结果为:');
  console.log(results);
});

示例二

假设我们现在要实现一个简单的博客系统,需要实现文章的增删改查。我们可以使用以下代码创建文章表:

CREATE TABLE `articles` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `content` text NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

然后我们可以使用以下代码实现文章的增删改查:

// 插入文章
connection.query('insert into articles set ?', { title: 'Hello World!', content: '这是我的第一篇博客' }, (error, results, fields) => {
  if (error) throw error;
  console.log('插入成功');
  console.log(results);
});

// 查询文章
connection.query('select * from articles', (error, results, fields) => {
  if (error) throw error;
  console.log('查询结果为:');
  console.log(results);
});

// 更新文章
connection.query('update articles set title=?, content=? where id=?', ['Hello Node.js!', '这是我的第一篇 Node.js 博客', 1], (error, results, fields) => {
  if (error) throw error;
  console.log('更新成功');
  console.log(results);
});

// 删除文章
connection.query('delete from articles where id=?', [1], (error, results, fields) => {
  if (error) throw error;
  console.log('删除成功');
  console.log(results);
});

五、总结

本文介绍了如何使用 node.js 驱动 mysql 实现数据库的增删改查,同时提供了两个示例代码。通过学习本文,您应该已经基本掌握了如何在 node.js 项目中使用 mysql 驱动程序进行数据库操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node.js对于数据库MySQL基本操作实例总结【增删改查】 - Python技术站

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

相关文章

  • 设置oralce自动内存管理执行步骤

    以下是设置Oracle自动内存管理的详细步骤: 1. 确认相关参数的初始值 在进行自动内存管理设置之前,我们需要确认下列参数的值: sga_target:指定SGA的总大小 pga_aggregate_target:指定PGA的大小 这两个参数的值决定了Oracle实例使用的总内存大小。可以通过如下SQL语句查询这些参数的值: SELECT * FROM v…

    database 2023年5月22日
    00
  • SQL Server数据库损坏检测以及SQL Server数据库修复的解决方法

    下面是关于SQL Server数据库损坏检测以及修复的一些完整攻略: SQL Server数据库损坏检测 方法1:运行数据库检查工具 SQL Server 有一个内置的数据库检查工具,可以帮助检测数据库文件的完整性。可以通过以下步骤运行此工具: 使用 SQL Server Management Studio 连接到相应的 SQL Server 实例。 在 O…

    database 2023年5月21日
    00
  • Java中的反射机制详解

    Java中的反射机制详解 Java中的反射机制是指程序在运行时可以获取自身的信息并进行操作的能力。利用反射机制,我们能够动态获取类的信息,动态创建对象,调用方法等。 反射的基础概念 反射机制是基于Java语言的特性来进行实现的。Java程序的运行需要经过三个步骤: 编写源代码 编译成.class字节码文件 在JVM上运行.class字节码文件 反射机制是在第…

    database 2023年5月22日
    00
  • 阿里外包的一次面试经历分享

    阿里外包的一次面试经历分享攻略 1. 背景介绍 阿里巴巴是国内知名的互联网公司之一,旗下涉及电商、云计算、智能家居等多个领域,对于求职者来说,阿里是一个很有吸引力的目标。同时,阿里外包作为阿里巴巴的重要服务之一,也对求职者提供了大量的机会。本文将主要分享一次阿里外包的面试经历,希望对求职者有所帮助。 2. 面试准备 在进行面试之前,我们需要进行充分的准备。首…

    database 2023年5月22日
    00
  • Redis密码设置

    redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。    1、初始化Redis密码:    在配置文件中有个参数: requirepass  这个就是配置redis访问密码的参数;    比如 requirepass test123;    (Ps:需重启Redis才能生效)    redis的…

    Redis 2023年4月13日
    00
  • c++连接mysql数据库的两种方法(ADO连接和mysql api连接)

    C++连接MySQL数据库的两种方法主要有ADO连接和MySQL api连接。下面我将详细讲解这两种方法的使用,包括安装配置,数据库连接和基本数据操作。 1. ADO连接 1.1 安装ADO组件 使用ADO连接MySQL需要安装Microsoft Data Access Components (MDAC/Microsoft Data Access) 组件。在…

    database 2023年5月21日
    00
  • 解决java.sql.SQLException: validateConnection false问题的方法汇总(最全)

    关于“解决java.sql.SQLException: validateConnection false问题的方法汇总(最全)” 的完整攻略,以下是具体步骤: 问题描述 在使用JDBC连接数据库的过程中,我们可能会遇到java.sql.SQLException: validateConnection false的异常。这种异常通常是由于连接池配置不当、数据库…

    database 2023年5月21日
    00
  • SQL Server 完整备份遇到的一个不常见的错误及解决方法

    SQL Server 完整备份遇到的一个不常见的错误及解决方法 问题描述 在进行 SQL Server 的完整备份时,有时会遇到以下的错误提示信息: Msg 3033, Level 16, State 0, Line 1BACKUP DATABASE cannot be used on a database opened in emergency mode.…

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