node连接数据库

本文详细介绍如何使用Node.js和Express框架连接并操作MySQL数据库,包括配置连接池、执行SQL查询及创建API接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

node连接数据库

  • 下载node,切记下载的版本不要太高也不要太低导致版本问题连接不上数据库,我安装的node版本是10.15.0版本的;安装下载,百度一下就可以,教程很多,我就不一一介绍了。
    在这里插入图片描述

  • 下载视图化管理数据软件,我下载的是Navicat Premium 12,社区版,全家桶版本。版本下图,安装下载,百度一下就可以,教程很多,我就不一一介绍了。 在这里插入图片描述

  • 切入正题,node,连接数据库

    • 创建一个连接池文件
    //引入node中的mysql插件
    let mysql = require('mysql');
    
    //创建连接池
    let pool = mysql.createPool({
        host: 'localhost',
        user: 'root',//你的数据库账号
        password: 'root',//你的数据库密码
        database: 'feipian',//表的名称
        port:3306
    });
    
    let responseJSON = function(res, ret) {
        if(typeof ret == 'undefined'){
          res.json({code: '-200', msg: '操作失败'});
        }else{
          res.json(ret);
        }
      }
      
      //在连接池中获取需要的连接
      let query = function(sql, req, res, netx) {
        pool.getConnection(function(err, connection) {
          connection.query(sql, function(err, result) {
            //将数据json格式返回
            responseJSON(res, result);
          });
          // 创建完连接要记得释放
          connection.release();
        });
      }
      module.exports = query;
    
    • 创建一个借口API
    var express = require('express');
    var router = express.Router();
    
    /* 引入连接池模块*/
    var query = require('../linksql/index');
    var sql;
    
    router.get('/', function (req, res, next) {
    	//所要查询的表名称
        sql = 'SELECT * FROM users';
        query(sql, req, res, next);
    });
    //暴露这个当前方法
    module.exports = router;
    
  • 差不多就可以是用来, 我用的是Express脚手架,喜欢的同学也可以使用一下。互相学习一下

### 使用 Node.js 连接数据库的方法 Node.js 是一种强大的 JavaScript 运行时环境,能够轻松构建服务器端应用程序。为了满足大多数应用的需求,通常需要将数据存储在持久化介质中,因此连接数据库成为开发中的重要环节。 以下是几种常见的数据库及其对应的 Node.js 库: #### MySQL 数据库连接方法 对于 MySQL 数据库,`mysql2` 或 `mysql` 是最常使用的驱动程序之一。下面是一个简单的示例代码,演示如何建立与 MySQL 的连接并执行查询操作[^2]。 ```javascript const mysql = require('mysql2'); // 创建连接池 const pool = mysql.createPool({ host: 'localhost', user: 'root', database: 'testdb', password: '' }); pool.query('SELECT * FROM users', (err, results) => { if (err) throw err; console.log(results); }); ``` #### PostgreSQL 数据库连接方法 如果目标是 PostgreSQL,则推荐使用 `pg` 模块作为客户端工具。以下是如何配置以及运行基本 SQL 查询的一个例子。 ```javascript const { Client } = require('pg'); const client = new Client({ connectionString: process.env.DATABASE_URL, ssl: true }); client.connect(); client.query('SELECT NOW()', (err, res) => { if (err) throw err; console.log(res.rows[0]); client.end(); }); ``` #### MongoDB 数据库连接方式 当处理非关系型文档数据库如 MongoDB 时,官方提供的 `mongodb` 驱动是非常好的选择。这里给出一段基础的连接脚本[^4]: ```javascript const MongoClient = require('mongodb').MongoClient; async function main() { const uri = "your_mongodb_connection_string"; const client = new MongoClient(uri); try { await client.connect(); const database = client.db('test'); const collection = database.collection('users'); const queryResult = await collection.find({}).toArray(); console.log(queryResult); } finally { await client.close(); } } main().catch(console.error); ``` 以上三种情况分别代表了不同类型的关系型和非关系型数据库接入方案,在实际项目里可以根据具体业务场景选取最适合的技术栈组合[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值