最近在项目中需要连接数据库,做增删改查的功能,sql语句整理做了以下记录(基于NodeJs,注:data为你的真实数据):
(一)新增插入表中数据:
sql: 'insert into work(表名) (name,id,src) values(?,?,?);',
values: [//需要插入的对应属性
data.name,
data.id,
data.src,
],
/******example******/
insertWorkList = async (data) => {
return new Promise((resolved, reject) => {
connection.query({
sql: 'insert into work(表名) (name,id,src) values(?,?,?);',
values: [
data.name,
data.id,
data.src,
],
}, (error, results) => {
if (error) {
reject(error);
} else {
resolved(results);
}
});
});
};
(二)更新表中数据(更新数据需要根据对应的唯一属性,例如id):
sql: 'update work(表名) set name=?, src=? where id=?',
values: [//需要插入的对应属性
data.name,
data.src,
data.id,//通过此id去更改name和src
],
/******example******/
updateWorkById = async (data) => {
return new Promise((resolved, reject) => {
connection.query({
sql: 'update work(表名) set name=?, src=? where id=?',
values: [
data.name,
data.src,
data.id,
],
}, (error, results) => {
if (error) {
reject(error);
} else {
resolved(results);
}
});
});
};
(三)查询表中的数据:
(1)查询某个表单中所有的数据(注: 查询所有数据不用传输values值)
select * from work(表名)
/******example******/
getList = async () => {
return new Promise((resolved, reject) => {
connection.query('select * from work', (error, results) => {
if (error) {
reject(error);
} else {
resolved(results);
}
});
});
};
(2)通过id或其他唯一属性查询某个表单中的数据
sql: 'select * from work where id=?',
values: [id],
/******example******/
getWorkById = async (id) => {
return new Promise((resolved, reject) => {
connection.query({
sql: 'select * from work(表名) where id=?',
values: [id],
}, (error, results) => {
if (error) {
reject(error);
} else {
resolved(results);
}
});
});
};
(四)删除表中id或其他唯一属性对应的数据:
sql: 'delete from work where id=?',
values: [id],/******example******/deleteWorkById= async (id) =>{return new Promise((resolved, reject) =>{
connection.query({
sql:'delete from work(表名) where id=?',
values: [id],
}, (error, results)=>{if(error) {
reject(error);
}else{
resolved(results);
}
});
});
};