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