node.js /express-第四章之增删改查

102 阅读1分钟

1.test.js里面写增删改查

image.png

var router = express.Router();
//导入数据库
const poolDb = require('../db/db');

router.get('/', async function(req, res, next) {
    res.send('我是测试接口2');
});

//查询
router.get('/select', async function(req, res, next) {
    // 从数据库中获取用户数据
    const query = "SELECT * FROM a_test WHERE id = 1";
    const result = await poolDb.query(query);
   // 处理查询结果
    const users = result.rows;
    res.json(users);
});

//带参数的查询
router.post('/select_p', async function(req, res, next) {
    const {id} = req.body;
    // 从数据库中获取用户数据
    const query = "SELECT * FROM a_test WHERE id = $1";
    const result = await poolDb.query(query,[id]);
   // 处理查询结果
    const users = result.rows;
    res.json(users);
});


//新增
router.post('/create', async(req, res) => {
    try {
      // 从请求体中获取要插入的数据
     // const { column1, column2 } = req.body;
     const {id} = req.body;
     const {name} = req.body;
      // 插入记录的 SQL 语句
      const query = `INSERT INTO a_test (id, name) VALUES ($1, $2) RETURNING *`;
   
      // 使用 pool.query 执行 SQL 语句 
      const result = await poolDb.query(query, [id, name]);
   
      // 返回插入的记录
      res.json(result.rows[0]);
    } catch (error) {
      // 发生错误时返回错误信息
      res.status(500).send({ error: error.message });
    }
  })


  router.post('/delete', async(req, res) => {
    const {id} = req.body;
 // 删除语句
 const result = await poolDb.query('DELETE FROM a_test WHERE id = $1', [id]);
  // 检查影响的行数
  if (result.rowCount > 0) {
    res.status(200).json({ message: '删除成功' });
  } else {
    res.status(404).json({ message: 'Data not found' });
  }
})


module.exports = router;

2.用postman看看效果(web版本的postman需要按照提示安装插件才能看)

查询 image.png

新增

image.png

删除

image.png

ok都成功了