Thêm dữ liệu vào bảng từ Node.js

Một phần của tài liệu Giáo trình môn học phát triển mã nguồn mở với NodeJS (ngànhnghề thiết kế trang web) (Trang 53 - 55)

Để chèn một hàng mới vào bảng, bạn làm theo các bước sau

Thực hiện kết nối với cơ sở dữ liệu

Thực hiện câu lệnh INSERT bằng cách gọi phương thức query() trên đối

tượng connection

Đóng kết nối tới cơsở dữ liệu

Ở đây tôi sẽ tạo ra module config.js để chứa cấu hình kết nối tới database. File config.js let config = { host : 'localhost', user : 'root', password: '', database: 'todoapp' }; module.exports = config; Chèn một hàng vào một bảng

Chương trình insert.js chèn một hàng vào một bảng.

var mysql = require("mysql"); var config = require("./config.js");

var connection = mysql.createConnection(config); // câu lệnh insert

var sql = `INSERT INTO todos(title,completed)

VALUES('Họccách insert dữ liệu vào database',true)`; // thực thi câu lệnh insert

connection.query(sql);

Phạm Đình Nam –Trường Caođẳng nghề Đà Lạt Trang 52

Thực thi chương trình insert.js

node insert

và kiểm tra lại bảng todos trong CSDL.

Chèn một hàng và trả về ID được chèn

Chương trình dưới đây chèn một hàng mới vào bảng todos và trả về id được chèn

vào.

File insert2.js

let mysql = require('mysql'); let config = require('./config.js');

let connection = mysql.createConnection(config); let stmt = `INSERT INTO todos(title,completed) VALUES(?,?)`;

let todo = ['Chèn hàng mới vào database', false]; // Thực thi truy vấn SQL

connection.query(stmt, todo, (err, results, fields) => { if (err) {

return console.error(err.message); }

// Nhận ID vừa Insert

console.log('Todo Id:' + results.insertId); });

connection.end();

Để chuyển dữ liệu vào câu lệnh Database, bạn sử dụng dấu hỏi (?) làm phần giữ

chỗ.

Trong ví dụ này, tôi sử dụng 2 dấu chấm hỏi (?,?) cho các

trường title và completed

Sau khi truy vấn xong chúng ta có thể lấy id từ thuộc tính insertId từ đối

tượng results .

Chèn nhiều hàng vào cùng một lúc

Chương trình dưới đây chèn nhiều hàng vào bảng todos.

File insert3.js

let mysql = require('mysql'); let config = require('./config.js');

Phạm Đình Nam –Trường Caođẳng nghề Đà Lạt Trang 53 let connection = mysql.createConnection(config);

// Câu lệnh Insert

let stmt = `INSERT INTO todos(title,completed) VALUES ? `; let todos = [

['Chèn nhiều dữ liệu cùng lúc 1', false], ['Chèn nhiều dữ liệu cùng lúc 1', true] ];

// Thực thi câu lệnh SQL

connection.query(stmt, [todos], (err, results, fields) => { if (err) {

return console.error(err.message); }

// nhận được số hàng đã insert

console.log('Row inserted:' + results.affectedRows); });

// Đóng kết

connection.end();

Một phần của tài liệu Giáo trình môn học phát triển mã nguồn mở với NodeJS (ngànhnghề thiết kế trang web) (Trang 53 - 55)

Tải bản đầy đủ (PDF)

(72 trang)