• 技术文章 >web前端 >js教程

    浅谈node连接mysql数据库的方法

    青灯夜游青灯夜游2020-12-09 17:47:24转载1641
    本篇文章和大家聊聊node连接mysql数据库的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

    相关推荐:《node js教程

    node使用原生方式,连接mysql数据库

    1.png

    (async () => {
        // 链接数据库
        const mysql = require('mysql2/promise');    // npm i mysql2
        const cfg = {
            host: 'localhost',
            user: 'root',
            password: ';he%0f_,ljyW',
            database: 'izengx',
        }
        const connection = await mysql.createConnection(cfg);
        
        // 创建一个新表tests
        let ret = await connection.execute(`CREATE TABLE IF NOT EXISTS tests (
            id INT NOT NULL AUTO_INCREMENT,
            message VARCHAR(45) NULL,
            PRIMARY KEY (id)
        )`)
        console.log('create', ret);
        
        // 新建数据
        ret = await connection.execute(`INSERT INTO tests(message) VALUE(?)`, ['newData'])
        console.log('新建数据', ret);
        
        const [rows, fields] = await connection.execute(`
            SELECT * FROM tests
        `)
        console.log('查询数据', rows);
        
    })()

    使用数据库中间件(ORM):sequelize连接和操作数据库

    2.png

    (async () => {
        // 使用数据库中间件(ORM):sequelize连接和操作数据库
        // 1. 使用Sequelize时,生成的表名会自动加成复数s,如fruit->fruits
        // 2. 自动生成主键id,自增(缺点是合并新旧数据时,id又从1开始,会有重合)
        const Sequelize = require('sequelize');
        const sequelize = new Sequelize('izengx', 'root', ';he%0f_,ljyW', {
            host: 'localhost',
            dialect: 'mysql',
            operatorsAliases: false,
        })
       
        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();
       
        // 增加一条数据
        ret = await Fruit.create({
            name: 'apple',
            price: 3.5
        })
        
        // 更新数据
        await Fruit.update({
            price: 4,
        }, {
            where: {
                name: 'banana',
            }
        })
    
        // 查询
        ret = await Fruit.findAll();
        // 查询指定范围的数据
        const Op = Sequelize.Op;
        opRet = await Fruit.findAll({
            where: {
                price: {
                    [Op.gt]: 3,
                    [Op.lt]: 5,
                }
            }
        })
        console.log('search: '+ JSON.stringify(opRet));
    })()

    更多编程相关知识,请访问:编程学习网站!!

    以上就是浅谈node连接mysql数据库的方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除
    专题推荐:node.js mysql sequelize
    上一篇:介绍JavaScript 内存管理+如何处理4个常见的内存泄漏 下一篇:nodejs怎么实现对图片进行批量裁剪?
    大前端线上培训班

    相关文章推荐

    • 谈谈Node.js中的文件写入• 了解一下Node.js中的文件夹写入• 浅谈Node.js监视文件变化的方法• 了解nodejs中的事件和事件循环• 如何利用nvm工具来管理node版本?方法介绍

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网