JavaScript怎么搞定数据写进MySQL数据库,简单点说就是用js操作mysql写入数据的那些事儿
- 问答
- 2026-01-24 08:39:39
- 4
想用JavaScript往MySQL数据库里写数据,这事儿听起来好像应该是后端程序员干的,因为JavaScript传统上是跑在浏览器里的,但时代变了,现在JS也能干这个事儿了,主要得靠一个叫Node.js的环境,你可以把Node.js理解成一个能让JavaScript代码脱离浏览器,直接在电脑上运行的工具,有了它,JS就能像PHP、Java那样和后端数据库打交道了。
那具体怎么搞呢?咱们一步一步来,用最白的话说清楚。
第一步:准备好你的“工具箱”
你的电脑上得先安装好Node.js,这个去官网下一个安装包,跟装普通软件一样装好就行,装好了Node.js,你就有个叫npm的工具(可以理解为Node.js的“应用商店”),用它来安装我们需要的“零件”。
你需要创建一个项目文件夹,在这个文件夹里打开命令行(比如Windows的CMD或PowerShell,Mac的终端),然后输入一个魔法命令:
npm init -y
这个命令会快速生成一个叫package.json的文件,算是你这个项目的“身份证”和“说明书”,记录了你项目需要哪些东西。
安装最关键的“零件”——一个能让JS和MySQL数据库“对话”的驱动包,这个包的名字就叫mysql2(它比老版的mysql包更好用),在命令行里输入:
npm install mysql2
等它安装完,你的工具箱就基本准备好了。
第二步:连接上你的数据库

想象一下,你要去朋友家做客,总得知道人家住哪儿(主机地址),门牌号是啥(端口号),还得有钥匙(用户名和密码)吧,连接数据库也是同样的道理。
你需要先知道你的MySQL数据库的这几样信息:
- 主机名(host):通常是
localhost(如果你的数据库就在自己电脑上)或者一个具体的服务器地址。 - 用户名(user):
root。 - 密码(password):安装MySQL时你设的那个密码。
- 数据库名(database):你具体要操作的那个数据库的名字。
我们写一段JS代码来建立连接,创建一个新文件,比如叫app.js,用代码编辑器打开,开始写:
// 1. 引入刚刚安装的mysql2包
const mysql = require('mysql2');
// 2. 创建一个连接池(为啥用连接池后面会简单说)
const pool = mysql.createPool({
host: 'localhost', // 你的数据库地址
user: 'root', // 你的数据库用户名
password: 'your_password', // 你的数据库密码
database: 'my_database' // 你要操作的数据库名
});
// 3. 从这个池子里获取一个可以用的连接(承诺方式的写法,更现代)
const promisePool = pool.promise();
console.log('已经成功连接到数据库了!');
这里用了“连接池”(createPool)而不是一次性的连接(createConnection),简单说,连接池就像是一个管理数据库连接的“管家”,你用的时候问他要一个,用完了他还收回去了,下次别人还能用,这样效率更高,避免了频繁开关连接的麻烦,这是一种常见的优化做法。
第三步:写个SQL语句,把数据插进去

连接好了,接下来就是重头戏——写入数据,这就要用到SQL语言了,别怕,最简单的插入语句一点都不难,我们想往一个叫users的表格里插入一个新用户,这个表有name和age两列。
// 接上面的代码
// 定义一个异步函数,因为数据库操作需要时间,得等它完成
async function insertData() {
try {
// 1. 定义你的SQL语句,用问号 ? 占位,防止SQL注入攻击(一种黑客手段)
const sql = 'INSERT INTO users (name, age) VALUES (?, ?)';
// 2. 要插入的具体数据
const data = ['张三', 25];
// 3. 执行这个SQL语句!pool.execute()方法会帮我们把data数组里的值,按顺序替换掉SQL里的问号
const [result] = await promisePool.execute(sql, data);
// 4. 看看结果
console.log('数据插入成功!');
console.log('新插入的数据ID是:', result.insertId); // 数据库会自动生成一个ID
} catch (error) {
// 万一上面任何一步出错了,就会跳到这里
console.error('出错了!错误信息是:', error);
}
}
// 别忘了调用这个函数,不然它不会执行
insertData();
这里有几个关键点:
- SQL语句:
INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2),这是固定的语法。 - 占位符(?):千万不要用JS的字符串拼接方式把变量直接塞进SQL语句里,
...VALUES ('${name}', ${age}),这样非常危险,容易受到“SQL注入攻击”,黑客可能借此破坏或窃取你的数据,用问号占位,然后让mysql2包帮你安全地替换值,这是标准且安全的做法。 - 异步操作(async/await):因为连接数据库、执行查询都需要时间,JS不会傻等着,而是先干别的事,等数据库有结果了再回来处理。
await等一下”的意思,async是告诉函数它里面有需要“等”的操作,用它们写出来的代码看起来更直观,像同步一样。 - 错误处理(try...catch):数据库操作可能会失败(比如密码错了、表不存在),用
try...catch把可能出错的代码包起来,万一出错我们能知道怎么回事,而不是让整个程序崩溃。
第四步:运行你的JS脚本
代码写好了,保存app.js文件,回到命令行,在你的项目目录下输入:
node app.js
如果一切顺利,你会看到“数据插入成功!”和一行新的ID号,这时候你去用MySQL的管理工具(比如phpMyAdmin或者命令行)看一眼users表,肯定已经多了一条名叫“张三”,年龄25的记录了。
总结一下核心步骤:
- 搭环境:用Node.js和
mysql2包。 - 连数据库:用你的数据库账号密码信息创建一个连接池。
- 写SQL:用安全的“占位符”方式写好插入语句。
- 执行它:在异步函数里执行SQL,并处理好结果和可能出现的错误。
- 运行脚本:用
node命令跑起来。
这就是用JavaScript操作MySQL写入数据最核心的流程,实际项目中可能更复杂,比如你要从网页表单获取数据,或者一次插入很多条数据,但原理都是一样的:建立连接 -> 组织SQL -> 安全执行,先把这个基本流程搞明白,剩下的就是在这个基础上添砖加瓦了。
本文由召安青于2026-01-24发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://www.haoid.cn/wenda/84982.html
