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