建表
MySQL程序可以使用PHP study集成工具。链接、操作数据库可以使用phpstudy自带的工具也可以使用navicat工具。
SQL语句-增删改查
插入数据
insert into 表名
(字段名
1,字段名
2) values(值
1,值
2);
例如:
insert into user(name
,description
) values('陈浩南','铜锣湾扛把子');
删除数据
delete from 表名
where 条件
;
条件一定要写,如果不写则会删除该表中所有的数据删除。
例如:
delete from user where id
>3;
修改数据
update 表名
set 字段名
1=新值
1,字段名
2=新值
2 where 条件
;
条件一定要写,如果不写则会修改数据表中的全部数据
例如:
update user set name
='子风兄',description
='比波波还骚' where id
=3;
查询数据
select * from 表名
[where 条件
];
NodeJs操作数据库
NodeJs链接数据库需要使用模块mysql。基本结构如下:
var mysql
= require("mysql");
var connection
= mysql
.createConnection({
host
: "localhost",
user
: "root",
password
: "root",
database
: "study",
});
connection
.connect();
connection
.end();
连接与关闭链接可以不写。
查
connection
.query("select * from user", (error
, result
, fields
) => {
console
.log(error
);
console
.log(result
);
console
.log(fields
);
});
result
fields
增
let name
= "伦哥";
let description
= "这是个描述";
connection
.query(
`insert into user(name,description) values('${name}','${description}')`,
(error
, result
, fields
) => {
console
.log(error
);
console
.log(result
);
console
.log(fields
);
}
);
其中result会返回一个对象,fields返回undefined。其中affectedRows表示受影响的行数,如果大于0则表示新增成功。
删
let id
= 3;
connection
.query(`delete from user where id=${id}`, (error
, result
, fields
) => {
if (error
== null) {
console
.log(result
);
}
});
改
改与新增类似。
let name
= "伦哥";
let description
= "这是个描述";
let id
= 3;
connection
.query(
`update user set name='${name}',description='${description}' where id=${id}`,
(error
, result
, fields
) => {
if (error
== null) {
console
.log(result
);
}
}
);
英雄管理系统-添加接口
app
.post("/hero/add", upload
.single("heroIcon"), (req
, res
) => {
console
.log(req
.file
);
console
.log(req
.body
);
let heroIcon
= req
.file
.filename
;
let { heroName
, heroSkill
} = req
.body
;
connection
.query(
`insert into hero(heroName,heroSkill,heroIcon) values('${heroName}','${heroSkill}','${heroIcon}');`,
(error
, result
, fields
) => {
if (error
== null) {
res
.send({
code
: 200,
msg
: "新增成功",
list
: { heroName
: heroName
, heroSkill
: heroSkill
},
});
} else {
res
.send({
code
: 400,
msg
: "新增失败",
list
: { heroName
: heroName
, heroSkill
: heroSkill
},
});
}
}
);
});
英雄管理系统-获取接口
app
.get("/hero/all", (req
, res
) => {
connection
.query(
`select id,heroName,heroSkill,heroIcon from hero where isDelete = 0`,
(error
, result
, fields
) => {
if (error
== null) {
console
.log(result
);
res
.send({
code
: 200,
msg
: "查询成功",
list
: result
,
});
} else {
res
.send({
code
: 400,
msg
: "查询失败",
list
: null,
});
}
}
);
});
完整代码
const express
= require("express");
const multer
= require("multer");
const mysql
= require("mysql");
var connection
= mysql
.createConnection({
host
: "localhost",
user
: "root",
password
: "root",
database
: "study",
});
const app
= express();
var upload
= multer({ dest
: "uploads/" });
app
.use(express
.static("uploads"));
app
.post("/hero/add", upload
.single("heroIcon"), (req
, res
) => {
console
.log(req
.file
);
console
.log(req
.body
);
let heroIcon
= req
.file
.filename
;
let { heroName
, heroSkill
} = req
.body
;
connection
.query(
`insert into hero(heroName,heroSkill,heroIcon) values('${heroName}','${heroSkill}','${heroIcon}');`,
(error
, result
, fields
) => {
if (error
== null) {
res
.send({
code
: 200,
msg
: "新增成功",
list
: { heroName
: heroName
, heroSkill
: heroSkill
},
});
} else {
res
.send({
code
: 400,
msg
: "新增失败",
list
: { heroName
: heroName
, heroSkill
: heroSkill
},
});
}
}
);
});
app
.get("/hero/all", (req
, res
) => {
connection
.query(
`select id,heroName,heroSkill,heroIcon from hero where isDelete = 0`,
(error
, result
, fields
) => {
if (error
== null) {
console
.log(result
);
res
.send({
code
: 200,
msg
: "查询成功",
list
: result
,
});
} else {
res
.send({
code
: 400,
msg
: "查询失败",
list
: null,
});
}
}
);
});
app
.listen(3000, () => {
console
.log("开启成功");
});