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.");
}
}

相关推荐
BXCQ_xuan1 天前
软件工程实践四:MyBatis-Plus 教程(连接、分页、查询)
spring boot·mysql·json·mybatis
IAtlantiscsdn1 天前
Redis Stack扩展功能
java·数据库·redis
没有bug.的程序员1 天前
Redis 大 Key 与热 Key:生产环境的风险与解决方案
java·数据库·redis·缓存·热key·大key
王维志1 天前
LiteDB详解
数据库·后端·mongodb·sqlite·c#·json·database
玉衡子1 天前
七、InnoDB底层原理与日志机制
java·mysql
2301_815357701 天前
parameterType和@Param注解的区别
java·开发语言·数据库
零雲1 天前
除了缓存,我们还可以用redis做什么?
数据库·redis·缓存
cyforkk1 天前
MySQL 唯一约束:从基础到实战,解决数据重复的核心工具
数据库·mysql
不想被吃掉氩1 天前
MySQL的事务特性和高可用架构
数据库·oracle
快乐肚皮1 天前
SQL调优全攻略:从原理到实战
mysql