首页主机资讯Node.js中execute sql技巧

Node.js中execute sql技巧

时间2024-07-08 14:48:03发布访客分类主机资讯浏览729
导读:在Node.js中执行SQL查询的常见做法是使用数据库连接库(如mysql,pg等)来连接数据库并执行SQL查询。下面是一些在Node.js中执行SQL查询的技巧: 使用Promise和async/await来处理异步操作。在执行数据库查...

在Node.js中执行SQL查询的常见做法是使用数据库连接库(如mysql,pg等)来连接数据库并执行SQL查询。下面是一些在Node.js中执行SQL查询的技巧:

  1. 使用Promise和async/await来处理异步操作。在执行数据库查询时,通常会涉及到异步操作,可以使用Promise和async/await来简化异步操作的处理,使代码更具可读性和易维护性。
const mysql = require('mysql');


const connection = mysql.createConnection({

  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'mydatabase'
}
    );
    

connection.connect();
    

const query = (sql) =>
 {
    
  return new Promise((resolve, reject) =>
 {
    
    connection.query(sql, (error, results) =>
 {

      if (error) {
    
        reject(error);

      }
 else {
    
        resolve(results);

      }

    }
    );

  }
    );

}
    ;
    

(async () =>
 {

  try {
    
    const results = await query('SELECT * FROM mytable');
    
    console.log(results);

  }
 catch (error) {
    
    console.error(error);

  }
 finally {
    
    connection.end();

  }

}
    )();
    
  1. 使用参数化查询。在构建SQL查询时,应尽量使用参数化查询,而不是拼接字符串,以避免SQL注入攻击。大多数数据库连接库都支持参数化查询,可以通过将参数传递给查询函数来执行参数化查询。
const mysql = require('mysql');


const connection = mysql.createConnection({

  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'mydatabase'
}
    );
    

connection.connect();
    

const query = (sql, values) =>
 {
    
  return new Promise((resolve, reject) =>
 {
    
    connection.query(sql, values, (error, results) =>
 {

      if (error) {
    
        reject(error);

      }
 else {
    
        resolve(results);

      }

    }
    );

  }
    );

}
    ;
    

(async () =>
 {

  try {
    
    const results = await query('SELECT * FROM mytable WHERE id = ?', [1]);
    
    console.log(results);

  }
 catch (error) {
    
    console.error(error);

  }
 finally {
    
    connection.end();

  }

}
    )();
    
  1. 处理连接池。对于频繁执行数据库查询的应用程序,建议使用连接池来管理数据库连接,以减少连接建立和销毁的开销,提高性能和可伸缩性。
const mysql = require('mysql');


const pool = mysql.createPool({

  connectionLimit : 10,
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'mydatabase'
}
    );
    

const query = (sql, values) =>
 {
    
  return new Promise((resolve, reject) =>
 {
    
    pool.query(sql, values, (error, results) =>
 {

      if (error) {
    
        reject(error);

      }
 else {
    
        resolve(results);

      }

    }
    );

  }
    );

}
    ;
    

(async () =>
 {

  try {
    
    const results = await query('SELECT * FROM mytable WHERE id = ?', [1]);
    
    console.log(results);

  }
 catch (error) {
    
    console.error(error);

  }

}
    )();
    

这些是在Node.js中执行SQL查询的一些常见技巧,希望对您有所帮助。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Node.js中execute sql技巧
本文地址: https://pptw.com/jishu/686730.html
execute sql前应该注意什么 execute sql支持并发执行吗

游客 回复需填写必要信息