Node.js MySQL 插入表记录
插入表记录
要在 MySQL 表中插入数据,请使用 "INSERT INTO" 语句。
实例
在 "customers" 表中插入一条记录:
var mysql = require('mysql');var con = mysql.createConnection({host: "localhost",user: " yourusername ",password: " yourpassword ",database: "mydb"});con.connect(function(err) {if (err) throw err;console.log("Connected!");<strong> var sql = "INSERT INTO customers (name, address) VALUES ('Company Inc', 'Highway 37')";</strong> con.query(sql, function (err, result) {if (err) throw err;console.log("1 record inserted");});});
将上述代码保存在名为 "demo_db_insert.js" 的文件中,然后运行该文件:
运行 "demo_db_insert.js"
C:\Users\ Your Name >node demo_db_insert.js
结果如下:
Connected!1 record inserted
插入多条记录
要插入多条记录,请创建一个包含值的数组,并在 sql 中插入一个问号,该问号将替换为值的数组:
INSERT INTO customers (name, address) VALUES ?
实例
在 "customers" 表中插入数据:
var mysql = require('mysql');var con = mysql.createConnection({host: "localhost",user: " yourusername ",password: " yourpassword ",database: "mydb"});con.connect(function(err) {if (err) throw err;console.log("Connected!");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,<strong> [values]</strong>, function (err, result) {if (err) throw err;console.log("Number of records inserted: " + result.affectedRows);});});
将上述代码保存在名为 "demo_db_insert_multple.js" 的文件中,然后运行该文件:
运行 "demo_db_insert_multiple.js"
C:\Users\ Your Name >node demo_db_insert_multiple.js
结果如下:
Connected!Number of records inserted: 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 字段的表,可以通过 result 结果对象来获取刚刚插入的行的 id。
注意:为了能够获得插入的 id,只能插入一行。
实例
在 "customers" 表中插入一条记录,并返回 ID:
var mysql = require('mysql');var con = mysql.createConnection({host: "localhost",user: "yourusername ",password: "yourpassword ",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 record inserted, ID: " + <strong>result.insertId</strong>);});});
将上述代码保存在名为 "demo_db_insert_id.js" 的文件中,然后运行该文件:
运行 "demo_db_insert_id.js"
C:\Users\ Your Name >node demo_db_insert_id.js
结果如下:
1 record inserted, ID: 15