加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 (https://www.pinziwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

nodejs实现数据持久化之——MySQL

发布时间:2022-11-03 11:12:49 所属栏目:MySql教程 来源:
导读:  首先,来说说数据持久化的理解,服务端数据持久化技术就是通过服务连接到数据库,将大量的数据通过SQL语句或其他指令存入到数据库,并可通过语句增删改查数据库。

  MySQLMySQL的安装

  官?地址:
  首先,来说说数据持久化的理解,服务端数据持久化技术就是通过服务连接到数据库,将大量的数据通过SQL语句或其他指令存入到数据库,并可通过语句增删改查数据库。
 
  MySQLMySQL的安装
 
  官?地址:
 
  PATH:$PATH:/usr/local/mysql/bin
  复制代码
  并退出vim输入模式;
 
  接着需要安装数据库可视化工具MySQL Workbenchmysql持久化,下载地址同上,找到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文档:…
 

(编辑:拼字网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!