Node.js 处理Mysql包含单引号字符字段

一、异步处理的方式

// 引入mysql模块
const mysql = require('mysql');

// 创建数据库连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});

// 连接到数据库
connection.connect(err => {
if (err) throw err;
console.log("Connected to the database!");
});

// 插入含有单引号的字段
const text = "It's a beautiful day";
const insertQuery = 'INSERT INTO example (text_column) VALUES (?)';

connection.query(insertQuery, [text], (err, result) => {
if (err) throw err;
console.log("Record inserted:", result);
});

// 查询含有单引号的字段
const selectQuery = 'SELECT * FROM example WHERE text_column = ?';

connection.query(selectQuery, [text], (err, results) => {
if (err) throw err;
console.log("Query results:", results);
});

// 关闭数据库连接
connection.end(err => {
if (err) throw err;
console.log("Disconnected from the database.");
});

二、同步处理的方式

// 引入mysql和util模块
const mysql = require('mysql');
const util = require('util');

// 创建数据库连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});

// 将 connection.connect 和 connection.query 转换为 promise 风格
const connectAsync = util.promisify(connection.connect).bind(connection);
const queryAsync = util.promisify(connection.query).bind(connection);

// 使用 async/await 来以同步的方式处理数据库操作
async function runDatabaseOperations() {
try {
// 连接到数据库
await connectAsync();
console.log("Connected to the database!");

// 插入含有单引号的字段
const text = "It's a beautiful day";
const insertQuery = 'INSERT INTO example (text_column) VALUES (?)';
const insertResult = await queryAsync(insertQuery, [text]);
console.log("Record inserted:", insertResult);

// 查询含有单引号的字段
const selectQuery = 'SELECT * FROM example WHERE text_column = ?';
const selectResults = await queryAsync(selectQuery, [text]);
console.log("Query results:", selectResults);

} catch (err) {
// 如果发生错误,打印错误信息
console.error("An error occurred:", err);
} finally {
// 无论成功还是发生错误,都断开数据库连接
connection.end();
console.log("Disconnected from the database.");
}
}

相关推荐
西岭千秋雪_27 分钟前
Redis性能优化
数据库·redis·笔记·学习·缓存·性能优化
极限实验室40 分钟前
INFINI Labs 产品更新 | INFINI Console 1.29.6 发布 – 优化监控图表异常毛刺等
数据库·产品
先睡43 分钟前
优化MySQL查询
数据库·sql
abigale031 小时前
webpack+vite前端构建工具 -11实战中的配置技巧
前端·webpack·node.js
小张是铁粉1 小时前
oracle的内存架构学习
数据库·学习·oracle·架构
专注API从业者1 小时前
构建淘宝评论监控系统:API 接口开发与实时数据采集教程
大数据·前端·数据库·oracle
藏在歌词里1 小时前
数据库-元数据表
数据库
小乌龟不会飞2 小时前
Ubuntu 安装 etcd 与 etcd-cpp-apiv3
数据库·etcd
程序员岳焱9 小时前
Java 与 MySQL 性能优化:Java 实现百万数据分批次插入的最佳实践
后端·mysql·性能优化
计算机毕设定制辅导-无忧学长10 小时前
西门子 PLC 与 Modbus 集成:S7-1500 RTU/TCP 配置指南(一)
服务器·数据库·tcp/ip