网站加关键词,吴中区做网站,武清做网站公司,wordpress 建站 教程目录
一、基础增删改查
1.1、项目准备
1.2、创建user_info表
1.3、查询用户(getList)
1.4、添加用户(addUser)
1.5、修改用户(updateUser)
1.6、删除用户(deleteUser)
1.7、数据库基础语法扩展 首先#xff1a; 1、数据库管理工具#xff1a;Navicat或者SQLyog都可以…目录
一、基础增删改查
1.1、项目准备
1.2、创建user_info表
1.3、查询用户(getList)
1.4、添加用户(addUser)
1.5、修改用户(updateUser)
1.6、删除用户(deleteUser)
1.7、数据库基础语法扩展 首先 1、数据库管理工具Navicat或者SQLyog都可以 2、建立项目这里可以直接借助 HBuilderX.exe 创建一个Node项目或者Express项目 3、测试接口工具Apifox或者postman都可以 以上软件自行下载 一、基础增删改查
1.1、项目准备
在创建好的项目下直接npm i mysql
在app.js里面
var app express();
app.listen(2323,()console.log(服务已启动在2323端口))
在routes文件夹里的index.js
const mysql require(mysql);
const conn mysql.createConnection({host: localhost,user: root,password: 123456,port: 3307,database: my-school, //自己本地建的数据库名node app.js成功后返回null,说明链接成功
});
conn.connect((err) {if (err) {console.error(数据库连接失败: , err);return;}console.log(数据库连接成功);
});
启动项目node app.js
希望热更新npm install -g nodemon
将配置文件改成 scripts: {start: nodemon ./bin/www},
1.2、创建user_info表
CREATE TABLE user_info (id INT AUTO_INCREMENT PRIMARY KEY COMMENT 主键ID,selfName VARCHAR(50) NOT NULL COMMENT 姓名,PASSWORD VARCHAR(50) NOT NULL COMMENT 密码,money DECIMAL(18,2) NOT NULL COMMENT 金额,userId VARCHAR(36) NOT NULL UNIQUE COMMENT 用户ID,sex ENUM(F, M) NOT NULL COMMENT 性别,company VARCHAR(100) NOT NULL COMMENT 公司,job VARCHAR(50) NOT NULL COMMENT 职位,createdTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间
); sql语法解释 AUTO_INCREMENT 属性表示每当有新记录插入表中时该列的值会自动增加。 PRIMARY KEY 表示这是一个主键意味着每行的这个值都是唯一的并且索引会建立在这个列上以优化查询性能一般和AUTO_INCREMENT连用。 COMMENT XX 是对该列的注释。 NOT NULL 约束表示这个列不能包含 NULL 值。 UNIQUE 约束表示这个列的所有值都必须是唯一的即不允许有重复的 user_id。 可变长字符串VARCHAR数字是最大长度。 money 列数据类型为定点数DECIMAL总共18位数字其中2位是小数部分。 sex 列数据类型为枚举ENUM只能包含两个值F 或 M。 createdTime列数据类型为时间戳TIMESTAMP默认值为当前时间戳CURRENT_TIMESTAMP。 1.3、查询用户(getList)
// 访问 http://localhost:2323/getList 即可拿到数据
router.get(/getList, (req, res) {let sql select * from user_info;conn.query(sql, (err, result) {if (err) {console.error(查询失败: , err);res.json({ code: 500, data: null, msg: err.message });return;}res.json({ code: 200, data: result, msg: 成功 });});
});
1.4、添加用户(addUser)
效果展示
核心代码interface.js
const addUser (conn, req, res) {const params req.body;console.log(params, params);const ret {};if (params.selfName ) {ret.code 501;ret.data null;ret.msg 请输入用户名;res.json(ret);return;} else if (params.password ) {ret.code 501;ret.data null;ret.msg 请输入密码;res.json(ret);return;} else {conn.query(INSERT INTO userlist(selfName,password,money,userId,sex,company,job) VALUES(${params.selfName},${params.password},${params.money},${randomId()},${params.sex},${params.company},${params.job}),function (err, results, fields) {if (err) {ret.code 500;ret.data null;ret.msg err.sqlMessage;} else if (results.length 0) {ret.code 501;ret.msg 请传递正确的参数;} else {ret.code 200;ret.data null;ret.msg 添加成功;}res.json(ret);});}
};
const randomId function uuid() {return xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx.replace(/[xy]/g, function (c) {var r (Math.random() * 16) | 0,v c x ? r : (r 0x3) | 0x8;return v.toString(16);});
};
exports.addUser addUser;
在routes文件夹里的index.js
var interface require(./interface);
//添加用户接口
router.post(/addUser, (req, res) {interface.addUser(conn, req, res);
});
数据库手动插入一条数据
INSERT INTO user_info (selfName, PASSWORD, money, userId, sex, company, job)
VALUES
(AA, 123456, 634452.00, c10f5828-af92-4cff-a7e1-0b6ef53b2c8c8, F, XX集团, 经理);
增加数据请求发送成功后报错Data too long for column userId at row 1可以将数据库原有长度36改成255
ALTER TABLE user_info MODIFY COLUMN userId VARCHAR(255);
1.5、修改用户(updateUser)
效果展示 核心代码interface.js
const updateUser (conn, req, res) {const params req.body;console.log(params, 修改信息);const ret {};if (params.selfName ) {ret.code 501;ret.data null;ret.msg 用户名不能为空;res.json(ret);return;} else if (params.password ) {ret.code 501;ret.data null;ret.msg 密码不能为空;res.json(ret);return;} else if (params.userId ) {ret.code 501;ret.data null;ret.msg 用户ID不能为空;res.json(ret);return;} else {conn.query(UPDATE user_info SET selfName${params.selfName},password${params.password},money${params.money},sex${params.sex},company${params.company},job${params.job} WHERE userId${params.userId},function (err, results, fields) {if (err) {ret.code 500;ret.data null;ret.msg err.sqlMessage;} else if (results.length 0) {ret.code 501;ret.msg 请传递正确的参数;} else {ret.code 200;ret.data null;ret.msg 更新成功;}res.json(ret);});}
};
exports.updateUser updateUser;
在routes文件夹里的index.js
// 修改用户接口
router.post(/updateUser, (req, res) {interface.updateUser(conn, req, res);
});
数据库手动修改该条数据【根据userId】
UPDATE user_info
SET selfName AAupdate, company XX集团update
WHERE userId IN (eff7f9b01-8e59-46ba-a4fdb-9294a29e3e79, another-userid-value);
1.6、删除用户(deleteUser)
效果展示 核心代码interface.js
const deleteUser (conn, req, res) {const params req.body;console.log(params, 删除信息);const ret {};if (params.userId ) {ret.code 501;ret.data null;ret.msg 请传递用户id;res.json(ret);return;} else {conn.query(DELETE FROM user_info where userId?,[params.userId],function (err, result) {if (err) {ret.code 500;ret.data null;ret.msg err.sqlMessage;} else {ret.code 200;ret.data null;ret.msg 删除成功;}res.json(ret);});}
};
exports.deleteUser deleteUser;
在routes文件夹里的index.js
// 删除用户接口
router.post(/deleteUser, (req, res) {interface.deleteUser(conn, req, res);
});
数据库手动删除该条数据【仅需要userId】
DELETE FROM user_info WHERE userIde0399a97-2956-4c3a-b19d-13f3bbc12c8d
1.7、数据库基础语法扩展 增删改 查询方法比较多样化
文章转载自: http://www.morning.wlbwp.cn.gov.cn.wlbwp.cn http://www.morning.tdwjj.cn.gov.cn.tdwjj.cn http://www.morning.ctrkh.cn.gov.cn.ctrkh.cn http://www.morning.qllcm.cn.gov.cn.qllcm.cn http://www.morning.flqkp.cn.gov.cn.flqkp.cn http://www.morning.nrqtk.cn.gov.cn.nrqtk.cn http://www.morning.yrbqy.cn.gov.cn.yrbqy.cn http://www.morning.sflnx.cn.gov.cn.sflnx.cn http://www.morning.dqpnd.cn.gov.cn.dqpnd.cn http://www.morning.rrdch.cn.gov.cn.rrdch.cn http://www.morning.wjhdn.cn.gov.cn.wjhdn.cn http://www.morning.hcwlq.cn.gov.cn.hcwlq.cn http://www.morning.linzhigongmao.cn.gov.cn.linzhigongmao.cn http://www.morning.brcdf.cn.gov.cn.brcdf.cn http://www.morning.gcysq.cn.gov.cn.gcysq.cn http://www.morning.xpmhs.cn.gov.cn.xpmhs.cn http://www.morning.rqbr.cn.gov.cn.rqbr.cn http://www.morning.nckjk.cn.gov.cn.nckjk.cn http://www.morning.fyglr.cn.gov.cn.fyglr.cn http://www.morning.qgtbx.cn.gov.cn.qgtbx.cn http://www.morning.mxbks.cn.gov.cn.mxbks.cn http://www.morning.cttti.com.gov.cn.cttti.com http://www.morning.langlaitech.cn.gov.cn.langlaitech.cn http://www.morning.rlqml.cn.gov.cn.rlqml.cn http://www.morning.dmzqd.cn.gov.cn.dmzqd.cn http://www.morning.rfrxt.cn.gov.cn.rfrxt.cn http://www.morning.rszt.cn.gov.cn.rszt.cn http://www.morning.gcbhh.cn.gov.cn.gcbhh.cn http://www.morning.pxbky.cn.gov.cn.pxbky.cn http://www.morning.muniubangcaishui.cn.gov.cn.muniubangcaishui.cn http://www.morning.mymz.cn.gov.cn.mymz.cn http://www.morning.dqxph.cn.gov.cn.dqxph.cn http://www.morning.czqqy.cn.gov.cn.czqqy.cn http://www.morning.lphtm.cn.gov.cn.lphtm.cn http://www.morning.qnbzs.cn.gov.cn.qnbzs.cn http://www.morning.rdlxh.cn.gov.cn.rdlxh.cn http://www.morning.cwrnr.cn.gov.cn.cwrnr.cn http://www.morning.wcft.cn.gov.cn.wcft.cn http://www.morning.tqxtx.cn.gov.cn.tqxtx.cn http://www.morning.gmwqd.cn.gov.cn.gmwqd.cn http://www.morning.csxlm.cn.gov.cn.csxlm.cn http://www.morning.ptxwg.cn.gov.cn.ptxwg.cn http://www.morning.fkgqn.cn.gov.cn.fkgqn.cn http://www.morning.przc.cn.gov.cn.przc.cn http://www.morning.yfzld.cn.gov.cn.yfzld.cn http://www.morning.tpqrc.cn.gov.cn.tpqrc.cn http://www.morning.haibuli.com.gov.cn.haibuli.com http://www.morning.bnpn.cn.gov.cn.bnpn.cn http://www.morning.bkgfp.cn.gov.cn.bkgfp.cn http://www.morning.llyjx.cn.gov.cn.llyjx.cn http://www.morning.yfmlj.cn.gov.cn.yfmlj.cn http://www.morning.wncb.cn.gov.cn.wncb.cn http://www.morning.cltrx.cn.gov.cn.cltrx.cn http://www.morning.ntdzjx.com.gov.cn.ntdzjx.com http://www.morning.rryny.cn.gov.cn.rryny.cn http://www.morning.mfjfh.cn.gov.cn.mfjfh.cn http://www.morning.fqnql.cn.gov.cn.fqnql.cn http://www.morning.tqygx.cn.gov.cn.tqygx.cn http://www.morning.xkhhy.cn.gov.cn.xkhhy.cn http://www.morning.trffl.cn.gov.cn.trffl.cn http://www.morning.kxmyj.cn.gov.cn.kxmyj.cn http://www.morning.nspbj.cn.gov.cn.nspbj.cn http://www.morning.lqws.cn.gov.cn.lqws.cn http://www.morning.rxwnc.cn.gov.cn.rxwnc.cn http://www.morning.hnhgb.cn.gov.cn.hnhgb.cn http://www.morning.qcmhs.cn.gov.cn.qcmhs.cn http://www.morning.sgpny.cn.gov.cn.sgpny.cn http://www.morning.snktp.cn.gov.cn.snktp.cn http://www.morning.kfldw.cn.gov.cn.kfldw.cn http://www.morning.qfkxj.cn.gov.cn.qfkxj.cn http://www.morning.pffx.cn.gov.cn.pffx.cn http://www.morning.xnltz.cn.gov.cn.xnltz.cn http://www.morning.rwcw.cn.gov.cn.rwcw.cn http://www.morning.pxmyw.cn.gov.cn.pxmyw.cn http://www.morning.zlff.cn.gov.cn.zlff.cn http://www.morning.wgtr.cn.gov.cn.wgtr.cn http://www.morning.npqps.cn.gov.cn.npqps.cn http://www.morning.mjyrg.cn.gov.cn.mjyrg.cn http://www.morning.snygg.cn.gov.cn.snygg.cn http://www.morning.rjynd.cn.gov.cn.rjynd.cn