持久化mysql

191 阅读1分钟

1.数据库连接

配置docker-compose.yml 文件

npm install mysql2/promise

2.mysql 的简单应用

(async () => {

 const mysql = require('mysql2/promise') 
 const conf = {
     host: '127.33.191.219',
     user: 'root',
     password: 'ewwrwr',
     database: 'jessica'
 }
 
 const connection = await mysql.createConnection(conf)
 // 创建一个名为test 的表
 let ret = await connection.execute(`
   CREATE TABLE IF NOT EXISITS test(
     id NOT NULL  AUTO_INCREMENT,
     message VARCHR(50) NULL,
     PRIMARY KEY(id)
   )
 `)
 // 向表中插入一条 abc 的数据
 ret = await connection.execute(`
   INSERT TO test(message) VALUES(?)
 `, ['ABC'])
 
 let [rows, fields ] = await connection.execute(`
   SELECT * FROM test
 `)
 
 console.log(JSON.stringify(rows, '' , '\t'))

})()

  1. sequelize 中间件的简单应用
(async () => {
    // sequelize 的安装
    npm i sequelize -S
    // 建立连接
    const Sequelize = require('sequelize')
    const sequelize = new Sequelize('jessica', 'root', 'root', {
      host: '127.13.191.217',
      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},
    },{
        timestamps: false
    })

    // 同步数据库
    let ret = await Fruit.sync({force:false})

    // 向里面插入一条数据
    ret = await Fruit.create({
        name: '西瓜',
        price: 3
    })
   // 更新数据
   ret = await Fruit.update({
       price: 5
   }, {
       where: {name: "香蕉"}
   })
    console.log(ret)
})()