菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Node.js MySQL 插入数据


插入到表

要填充 MySQL 表,请使用“INSERT INTO”语句。

示例

向“customers”表中插入一条记录

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "您的用户名",
  password: "您的密码",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("已连接!");
  var sql = "INSERT INTO customers (name, address) VALUES ('Company Inc', 'Highway 37')";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("已插入 1 条记录");
  });
});
运行示例 »

将上面的代码保存在名为“demo_db_insert.js”的文件中,然后运行该文件

运行“demo_db_insert.js”

C:\Users\您的名字>node demo_db_insert.js

这将产生以下结果:

已连接!
已插入 1 条记录


插入多条记录

要插入多条记录,请将值放入一个数组中,并在 sql 语句中插入一个问号,该问号将被值数组替换
INSERT INTO customers (name, address) VALUES ?

示例

填充“customers”表数据

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "您的用户名",
  password: "您的密码",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("已连接!");
  var sql = "INSERT INTO customers (name, address) VALUES ?";
  var values = [
    ['John', 'Highway 71'],
    ['Peter', 'Lowstreet 4'],
    ['Amy', 'Apple st 652'],
    ['Hannah', 'Mountain 21'],
    ['Michael', 'Valley 345'],
    ['Sandy', 'Ocean blvd 2'],
    ['Betty', 'Green Grass 1'],
    ['Richard', 'Sky st 331'],
    ['Susan', 'One way 98'],
    ['Vicky', 'Yellow Garden 2'],
    ['Ben', 'Park Lane 38'],
    ['William', 'Central st 954'],
    ['Chuck', 'Main Road 989'],
    ['Viola', 'Sideway 1633']
  ];
  con.query(sql, [values], function (err, result) {
    if (err) throw err;
    console.log("已插入记录数: " + result.affectedRows);
  });
});
运行示例 »

将上面的代码保存在名为“demo_db_insert_multple.js”的文件中,然后运行该文件

运行“demo_db_insert_multiple.js”

C:\Users\您的名字>node demo_db_insert_multiple.js

这将产生以下结果:

已连接!
已插入记录数: 14

结果对象

执行查询时,将返回一个结果对象。

结果对象包含有关查询如何影响表的信息。

上面示例返回的结果对象如下所示

{
  fieldCount: 0,
  affectedRows: 14,
  insertId: 0,
  serverStatus: 2,
  warningCount: 0,
  message: '\'Records:14  Duplicated: 0  Warnings: 0',
  protocol41: true,
  changedRows: 0
}

属性值可以这样显示:

示例

返回受影响的行数

console.log(result.affectedRows)

这将产生以下结果:

14

获取插入的 ID

对于带有自动递增 ID 字段的表,您可以通过查询结果对象来获取刚刚插入的行的 ID。

注意:要获取插入的 ID,只能插入一行

示例

向“customers”表中插入一条记录,并返回 ID

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "您的用户名",
  password: "您的密码",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  var sql = "INSERT INTO customers (name, address) VALUES ('Michelle', 'Blue Village 1')";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("已插入 1 条记录,ID: " + result.insertId);
  });
});
运行示例 »

将上面的代码保存在名为“demo_db_insert_id.js”的文件中,然后运行该文件

运行“demo_db_insert_id.js”

C:\Users\您的名字>node demo_db_insert_id.js

这将返回类似这样的内容

已插入 1 条记录,ID: 15

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持