Node.js MySQLแทรกลงใน
แทรกลงในตาราง
ในการเติมตารางใน MySQL ให้ใช้คำสั่ง "INSERT INTO"
ตัวอย่าง
แทรกบันทึกในตาราง "ลูกค้า":
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 ('Company Inc', 'Highway 37')";
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 ?
ตัวอย่าง
กรอกข้อมูลในตาราง "ลูกค้า":
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, [values], 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 การเพิ่มอัตโนมัติ คุณสามารถรับ id ของแถวที่คุณเพิ่งแทรกได้โดยการถามออบเจกต์ผลลัพธ์
หมายเหตุ:เพื่อให้สามารถแทรก id ได้ สามารถแทรกได้เพียงแถวเดียวเท่านั้น
ตัวอย่าง
แทรกบันทึกในตาราง "ลูกค้า" และส่งคืน 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: " + result.insertId);
});
});
บันทึกรหัสด้านบนในไฟล์ชื่อ "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