美文网首页
nodejs中实现数据持久化(上)-MySQL

nodejs中实现数据持久化(上)-MySQL

作者: 变态的小水瓶 | 来源:发表于2020-01-05 16:33 被阅读0次

首先,来说说数据持久化的理解,服务端数据持久化技术就是通过服务连接到数据库,将大量的数据通过SQL语句或其他指令存入到数据库,并可通过语句增删改查数据库。

MySQL

MySQL的安装

官⽹地址: https://www.mysql.com

  • 1.在官网中选择MySQL Community Server 进行下载,下载完后运行安装包,配置用户名和密码。
  • 2.打开 finder(访达),查看/usr/local/mysql/bin 目录下是否有 mysql;
  • 3.终端打开指定位置:cd /usr/local/mysql/bin
  • 4.接着输⼊入 vim ~/.bash_profile,然后在此⽂文件中添加 mysql 的 bin ⽬目录,添加这句话:
PATH:$PATH:/usr/local/mysql/bin

并退出vim输入模式;

  • 5.接着输⼊ source ~/.bash_profile,回车,以使刚才的配置⽣生效。
    mysql 的安装和配置已经完成!

接着需要安装数据库可视化工具MySQL Workbench,下载地址同上,找到workbench下载并运行安装包,注意登录时用户名和密码与数据库设置一致。

连接MySQL数据库

安装mysql2 : npm i mysql2 -S
通过如下的代码连接,并通过execute方法执行对应语句操作数据库:

const mysql = require('mysql2/promise');
// 连接配置
const cfg = {
        host: "localhost",
        user: "root", // 你的用户名
        password: "password", // 你的密码
        database: "database" // 数据库名称
 }
// 建立连接
const connection = await mysql.createConnection(cfg);
// 创建test表
let ret = await connection.execute(`
        CREATE TABLE IF NOT EXISTS test(
            id INT NOT NULL AUTO_INCREMENT,
            message VARCHAR(45) NULL,
        PRIMARY KEY (id))
`)
console.log('create', ret);

// 连接关闭
connection.end();

Sequelize--更便捷的数据库操作

利用Sequelize这个中间件可以不用和sql语句打交道,更便捷的实现数据库操作,其可以支持多种数据库。
安装:npm i sequelize mysql2 -S
基本使用如下:

(async () => {
    const Sequelize = require("sequelize");
    // 连接数据库
    const sequelize = new Sequelize('database', 'root', "123456", {
        host: "localhost",
        dialect: "mysql"
    });
    // 定义模型
    const Fruit = sequelize.define('Fruit', {
        name: { type: Sequelize.STRING(20), allowNull: false },
        price: { type: Sequelize.FLOAT, allowNull: false },
        stock: {
            type: Sequelize.INTEGER, defaultValue: 0
        }
    })
    let ret = await Fruit.sync();
    console.log('sync', ret)
    // 增
    ret = await Fruit.create({
        name: "香蕉",
        price: 3.5
    })
    console.log('create', ret)
    // 查
    ret = await Fruit.findAll();
    console.log('find', JSON.stringify(ret));
    // 改
    await Fruit.update({ price: 5 }, { where: { name: "香蕉" } })
    // 条件查询
    const Op = Sequelize.Op;
    ret = await Fruit.findAll({
        where: { price: { [Op.lt]: 5, [Op.gt]: 2 } }
    })
    console.log(ret)
})()

由此可见所有操作都是传入一个配置对象,可以说是相当方便了,想了解更多sequelize的操作可以查看API文档:http://www.nodeclass.com/api/sequelize.html

相关文章

  • nodejs中实现数据持久化(上)-MySQL

    首先,来说说数据持久化的理解,服务端数据持久化技术就是通过服务连接到数据库,将大量的数据通过SQL语句或其他指令存...

  • 2018-06-21-diamond

    diamond---管理持久配置【配置数据持久化到磁盘和数据库中】的系统 diamond搭建 1、安装mysql,...

  • 使用 NodeJs 实现一个本地接口数据系统,让前端独立于后台开

    使用 NodeJs 实现本地接口系统,解决前后台开发最后一公里 无数据库的情况下,实现数据持久化,通过api ur...

  • Redis 数据持久化

    Redis 中除了可以将数据保存在内存中,还支持两种数据持久化方案:RDB、AOF,实现将内存中的数据持久化到磁盘...

  • MySQL数据库入门

    MySQL 关系型数据库入门 1. 数据持久化 数据库是数据持久化的一种工具, 如果想要做到数据持久化必须将数据通...

  • Redis和MySQL的区别

    redis是内存中的数据库,读写速度快,可做持久化,但内存空间有限;MySQL是持久化数据库,存储在硬盘中不受空间...

  • Redis持久化的取舍和选择

    什么是持久化 redis所有数据保持在内存中,对数据的更新将异步地保存在磁盘上。 持久化方式 快照 1.MySQL...

  • python——文件读写与异常处理

    文件 在实际开发中,常常需要对程序中的数据进行持久化操作,而实现数据持久化最直接简单的方式就是将数据保存到文件中。...

  • JDBC

    JDBC 持久化和持久化技术 持久化技术概念 把数据保存到可掉电式的存储设备中,持久化的实现过程大多是通过各种关系...

  • redis和mysql的结合示例

    mysql和redis的区别 mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。...

网友评论

      本文标题:nodejs中实现数据持久化(上)-MySQL

      本文链接:https://www.haomeiwen.com/subject/zqxcactx.html