Express.js 中使用 MySQL 实现数据存储

阅读时长 6 分钟读完

在开发 Web 应用时,数据存储是一个必不可少的环节。而 MySQL 作为一种广泛使用的关系型数据库,其在前端开发中也有着重要的作用。本文将介绍如何在 Express.js 中使用 MySQL 实现数据存储。

准备工作

在使用 MySQL 之前,需要先安装 MySQL 数据库,并创建一个数据库和一张表。以 Windows 系统为例,可以按照以下步骤进行安装:

  1. 下载 MySQL 安装包并解压。
  2. 配置环境变量,将 MySQL 的 bin 目录加入 PATH 中。
  3. 打开命令行工具,输入 mysql -u root -p 进入 MySQL 数据库。
  4. 创建一个数据库,如 mydb,并指定字符集为 utf8mb4
  5. 创建一张表,如 users,包含 idnameemail 三个字段。

安装依赖

在 Express.js 中使用 MySQL,需要安装以下两个依赖:

  • mysql2:MySQL 客户端。
  • sequelize:ORM(Object-Relational Mapping)框架,用于操作数据库。

可以使用以下命令进行安装:

配置连接

在 Express.js 中使用 MySQL,需要配置数据库连接。可以在应用的入口文件(如 app.js)中进行配置:

-- -------------------- ---- -------
----- - --------- - - ---------------------

----- --------- - --- ----------------- ------- ----------- -
  -------- --------
  ----- ------------
  ----- -----
  ------- -
    ----------- ------
  --
---

------ -- -- -
  --- -
    ----- -------------------------
    ----------------------- --- ---- ----------- ----------------
  - ----- ------- -
    --------------------- -- ------- -- --- ----------- -------
  -
-----
展开代码

其中,mydb 是数据库名称,rootpassword 分别是 MySQL 的用户名和密码,localhost 是 MySQL 的主机名,3306 是 MySQL 的端口号。define.timestamps 表示不使用默认的时间戳字段。

创建模型

在使用 Sequelize 操作数据库时,需要先定义模型。模型是指数据库中的表在代码中的映射,包含表的结构和操作。可以通过以下代码创建一个 User 模型:

-- -------------------- ---- -------
----- - --------- - - ---------------------

----- ---- - ------------------------ -
  --- -
    ----- ------------------
    ----------- -----
    -------------- -----
  --
  ----- -
    ----- ----------------------
    ---------- ------
  --
  ------ -
    ----- ----------------------
    ---------- ------
  --
-- -
  ---------- --------
---
展开代码

其中,DataTypes 是 Sequelize 中的数据类型,idnameemail 分别是 users 表中的三个字段,primaryKey 表示主键,autoIncrement 表示自增,allowNull 表示不允许为空。

增删改查

在定义好模型后,可以通过模型进行增删改查操作。以下是一些示例代码:

增加数据

删除数据

修改数据

查询数据

-- -------------------- ---- -------
----- ------- - ----- ---- -- -
  ----- ---- - ----- ------------------
  ------ ---- - ---------- ------ ---- -- - -----
--

----- -------- - ----- -- -- -
  ----- ----- - ----- ---------------
  ------ ---------------- -- ---------- ------ ---- ----
--
展开代码

其中,findByPk 根据主键查询单条数据,findAll 查询所有数据。

总结

本文介绍了如何在 Express.js 中使用 MySQL 实现数据存储。通过配置连接、创建模型和定义增删改查操作,可以方便地操作数据库。同时,Sequelize 还支持事务、关联查询等高级功能,可以满足不同场景下的需求。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65c22f49add4f0e0ffc1ef85

纠错
反馈

纠错反馈