前言:
最近用express+mysql写了一个简单的数据接口,至于接口代码嘛写的很丑就不想拿出来写了,不过可以记录一下这次用到的一些sql语句,仅仅为以后使用便于查询做个记录,首先声明一下本人并没有系统学过sql,如有错误欢迎各位大佬指正,谢谢大家!
sql集:
- 获取表中数据:
SELECT * FROM `users`
参数说明:users为表名
- 获取详情数据:
SELECT * FROM `users` WHERE id =?
参数说明:?是从接口中传递过来的id值
- 添加数据:
INSERT INTO `users` (`username`,`email`,`wechat`) VALUES (?,?,?)
参数说明:username,email,wechat为需要添加的字段,?,?,?为需要添加的值
- 批量添加数据:
INSERT INTO `users` (`username`,`email`,`wechat`) VALUES ?
参数说明:?为前端传入的字段值,需要为[["李四", "12345", "12345"],["李四", "12345", "12345"]]的格式
- 删除数据:
DELETE FROM `users` WHERE `users`.`id`=?
参数说明:?是从接口中传递过来的id值
- 批量删除数据:
DELETE FROM `users` WHERE `users`.`id` in (?)
参数说明:?为前端传入的值,需要为id数组的格式["24", "26", "27"]
- 修改数据:
UPDATE `users` SET `username`='" + param.username + "',`email`='" + param.email + "',`wechat`='" + param.wechat + "' WHERE `id`='" + param.id + "'"
参数说明:param的值为前端传入的对象
- 批量修改:
声明:并没有固定的批量修改sql,我是采用的sql拼接来处理的,另外一般是禁止这种语句的执行的,必须要开启之后才能生效,否则会报错!!!
sql += "UPDATE `users` SET `username`='" + arrObj[i].username + "',`email`='" + arrObj[i].email + "',`wechat`='" + arrObj[i].wechat + "' WHERE `id`='" + arrObj[i].id + "';";
参数说明: 前端必须要传一个带id的数组对象
- 数据查询:
SELECT * FROM `users` WHERE `username`=?
参数说明:username为需要查询的字段,一般是根据title进行模糊查询,在此不深究。
- 数据排序:
"SELECT * FROM `users` ORDER BY" + "`" + req.query._sort + "`" + req.query._order;
参数说明: req.query._sortgen为根据哪个字段排序,req.query._order为排序规则:desc降序,desc升序
- 数据分页:
说明:需要获取到总的数据条数才知道需要能分多少页,总条数的查询和数据的查询可以拼接执行,也可分次执行,在此我选择的执行两次。
SELECT COUNT(*) AS `count` FROM `users`//获取总的数据条数
参数说明:count为获取到总的数据条数
SELECT * FROM `users` ORDER BY `users`.`id` ASC LIMIT ?,?//第几页,每页多少条数据
参数说明:?第一个为数据开始的位置,?第二个为数据结束的位置。
后记:
这不是什么大全,这只是我写接口中的sql,在此做个记录。不喜勿喷,谢谢!另外如果对大家有帮助,欢迎各位点赞或者评论!