こんにちは。
以下の記事の続きです。
【Node】SQLiteを使ってみる - なんだかGoodVibes
概要
最初に以下のレコードを登録します。
id | name | age |
---|---|---|
1 | Bob | 25 |
2 | Kevin | 35 |
3 | Tom | 45 |
レコードの更新(UPDATE)
var sqlite3 = require('sqlite3').verbose(); var db = new sqlite3.Database(':memory:'); db.serialize(() => { db.run('CREATE TABLE testdb (id INTEGER, name TEXT, age INTEGER)'); var insertData = db.prepare('INSERT INTO testdb VALUES (?, ?, ?)'); insertData.run([1, 'Bob', 25]); insertData.run([2, 'Kevin', 35]); insertData.run([3, 'Tom', 45]); insertData.finalize(); // レコードを更新 db.run('UPDATE testdb SET age = 26 WHERE id = 1', err => { if (err) { return console.error(err.message); } }); DisplayTable(db); }); db.close(); function DisplayTable(db) { db.all("SELECT * FROM testdb", (err, rows) => { if (err) { console.error(err.message); } rows.forEach(row => { console.log(`${row.id} : ${row.name} : ${row.age}`); }); }); }
結果は以下のようになります。
1 : Bob : 26 2 : Kevin : 35 3 : Tom : 45
レコード更新部分は、以下のように書いても同じです。
db.run('UPDATE testdb SET age = ? WHERE id = ?', 26, 1, err => { if (err) { return console.error(err.message); } });
レコードの削除(DELETE)
var sqlite3 = require('sqlite3').verbose(); var db = new sqlite3.Database(':memory:'); db.serialize(() => { db.run('CREATE TABLE testdb (id INTEGER, name TEXT, age INTEGER)'); var insertData = db.prepare('INSERT INTO testdb VALUES (?, ?, ?)'); insertData.run([1, 'Bob', 25]); insertData.run([2, 'Kevin', 35]); insertData.run([3, 'Tom', 45]); insertData.finalize(); // レコードを削除 db.run('DELETE FROM testdb WHERE id = 3', err => { if (err) { return console.error(err.message); } }); DisplayTable(db); }); db.close(); function DisplayTable(db) { db.all("SELECT * FROM testdb", (err, rows) => { if (err) { console.error(err.message); } rows.forEach(row => { console.log(`${row.id} : ${row.name} : ${row.age}`); }); }); }
結果は以下のようになります。
1 : Bob : 25 2 : Kevin : 35
レコード削除部分は、以下のように書いても同じです。
db.run('DELETE FROM testdb WHERE id = ?', 3, err => { if (err) { return console.error(err.message); } });
以上です。