0% found this document useful (0 votes)
14 views5 pages

Node 10 New

Uploaded by

bolnedibhargav29
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views5 pages

Node 10 New

Uploaded by

bolnedibhargav29
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

db.

js

const sqlite3 = require('sqlite3').verbose();

// Function to initialize the database schema

function initializeDatabase() {

const db = new sqlite3.Database('./mydatabase.db', (err) => {

if (err) {

console.error(err.message);

} else {

console.log('Connected to the SQLite database.');

createStudentsTable(db); // Create the 'students' table if it doesn't exist

});

// Close the database connection when the Node process exits

process.on('exit', () => {

db.close((err) => {

if (err) {

console.error(err.message);

} else {

console.log('Disconnected from the SQLite database.');

});

});

// Function to create the 'students' table if it doesn't exist

function createStudentsTable(db) {

const createTableQuery = `

CREATE TABLE IF NOT EXISTS students (


id INTEGER PRIMARY KEY AUTOINCREMENT,

name TEXT,

age INTEGER,

grade TEXT

);

`;

db.run(createTableQuery, (err) => {

if (err) {

console.error(err.message);

} else {

console.log('The students table has been created or already exists.');

});

module.exports = { initializeDatabase };

// 👇 This line runs the function when you run the script directly

initializeDatabase();

app.js

const express = require('express');

const sqlite3 = require('sqlite3');

const { initializeDatabase } = require('./db');

const app = express();

const port = 3000;

// Connect to SQLite database

const db = new sqlite3.Database('./mydatabase.db', (err) => {

if (err) {

console.log(err.message);
} else {

console.log('Connected to the SQLite database.');

});

// Middleware to parse request body as JSON

app.use(express.json());

app.get('/', (req, res) => {

res.send('Welcome to the Student API');

});

// Get all students

app.get('/students', (req, res) => {

db.all('SELECT * FROM students', [], (err, rows) => {

if (err) {

return console.error(err.message);

res.json(rows);

});

});

// Get a single student by ID

app.get('/students/:id', (req, res) => {

const id = req.params.id;

db.get('SELECT * FROM students WHERE id = ?', [id], (err, row) => {

if (err) {

return console.error(err.message);

res.json(row);

});
});

// Create a new student

app.post('/students', (req, res) => {

const { name, age, grade } = req.body;

db.run('INSERT INTO students (name, age, grade) VALUES (?, ?, ?)', [name, age, grade], function
(err) {

if (err) {

return console.error(err.message);

res.status(201).json({ id: this.lastID });

});

});

// Update a student

app.put('/students/:id', (req, res) => {

const id = req.params.id;

const { name, age, grade } = req.body;

db.run('UPDATE students SET name = ?, age = ?, grade = ? WHERE id = ?', [name, age, grade, id],
function (err) {

if (err) {

return console.error(err.message);

res.json({ updatedID: id });

});

});

// Delete a student

app.delete('/students/:id', (req, res) => {

const id = req.params.id;

db.run('DELETE FROM students WHERE id = ?', id, function (err) {

if (err) {
return console.error(err.message);

res.json({ deletedID: id });

});

});

app.listen(port, () => {

console.log(`Server running at http://localhost:${port}`);

});

You might also like