node增删改查

INSERT

const app = express();

app.use(express.json()); // for parsing application/json
app.use(express.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded

//向表中插入数据
app.post("/insertInto", function (req, res) {
  const { tableName, ...data } = req.body;
  console.log(tableName, data);
  const columns = [];
  const values = [];

  for (const [key, value] of Object.entries(data)) {
    if (key == "age") values.push(value);
    else values.push(`'${value}'`);
    columns.push(key);
  }

  const sql = `
  INSERT INTO ${tableName} (${columns.join()})
  VALUES (${values.join()});
  `;
  console.log("sql", sql);

  db.query(sql, function (err, data) {
    if (err) {
      console.error(err);
      res.status(411).send(JSON.stringify(err.sqlMessage));
    } else {
      console.log("success:", data);
      res.json(data);
    }
  });
});
SELECT
app.get("/selectTable", (req, res) => {
  const { tableName } = req.query;
  db.query(`SELECT * FROM ${tableName};`, function (err, data) {
    if (err) {
      console.error(err);
      res.status(411).send(JSON.stringify(err.sqlMessage));
    } else res.send(data);
  });
});
app.get("/selectTableColumns", (req, res) => {
  const { tableName } = req.query;
  const sql = `
  select column_name,data_type
  from information_schema.columns
  where table_name='${tableName}' and table_schema='HData';
  `;
  db.query(sql, function (err, data) {
    if (err) {
      console.error(err);
      res.status(411).send(JSON.stringify(err.sqlMessage));
    } else res.send(data);
  });
});
DELETE
//删除数据
app.post("/delete", (req, res) => {
  const { tableName, id } = req.body;
  console.log(tableName, id);

  const sql = `
  DELETE FROM ${tableName}
  WHERE id = '${id}'
  `;
  console.log("sql:", sql);

  db.query(sql, function (err, data) {
    if (err) {
      console.error(err);
      res.status(411).send(JSON.stringify(err.sqlMessage));
    } else {
      console.log("success:", data);
      res.json(data);
    }
  });
});
UPDATE
//更新数据
app.post("/update", (req, res) => {
  const { tableName, id, ...data } = req.body;
  console.log(tableName, id, data);
  //生成 SET 语句
  let setField = [];
  for (const [key, value] of Object.entries(data)) {
    setField.push(`${key} = '${value}'`);
  }

  const sql = `
  UPDATE ${tableName}
  SET ${setField.join(",")}
  WHERE id = '${id}'
  `;

  console.log("sql:", sql);

  db.query(sql, function (err, data) {
    if (err) {
      console.error(err);
      res.status(411).send(JSON.stringify(err.sqlMessage));
    } else {
      console.log("success:", data);
      res.json(data);
    }
  });
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值