Không bao giờ sử dụng nối chuỗi để truy vấn, bạn đã có cơ chế được gọi là câu lệnh chuẩn bị, chữ ký như
.query('SELECT * FROM `books` WHERE `author` = ?', ['David'])
Nó sẽ làm sạch đầu vào cho bạn và ngăn chặn một phần các cuộc tấn công sql-injection, đồng thời luôn thực hiện xác nhận các giá trị đầu vào. Và nếu bạn không muốn sử dụng ORM như typeorm , Sequelize , bạn có thể sử dụng knex.js mà chỉ có thể tạo chuỗi truy vấn và quản lý hoàn toàn tương tác db