数据库 nodejs操作mysql 路由和api的区别 接口定义
至此,数据库创建成功,
输入’show databases;’查看所有数据库
use myblog; //使用myblog数据库
show tables;//展示表
insert into users(username,`password`,realname) values ('zhangsan', '123445' ,'张三' );
//插入语句 关键字使用反引号保卫``,否则报错
select * from users//查询
select * from users where password like '%1%' order by id desc;
//模糊查询desc降序
Update users set realname = ‘李四2’ where id =’2’
//更新
delete from users where id ='7'
//删除
Mysql操作示例
一
新建mysqltest文件夹
npm init 初始化
npm i mysql
const mysql = require('mysql');
const conn = mysql.createConnection({
host:'localhost',//mysql 地址 host
user:'root',
password:'root',
port:'3306',
database:'myblog'
});
//开始链接
conn.connect();
//执行sql语句
const sql = "select * from users;"
//
conn.query(sql,(err,result)=>{
if(err){
console.log(err);
return
}
console.log(result);
});
//关闭连接
conn.end();
process是一个全局对象,即global对象的属性,可以在任何地方直接访问到它而无需引入额外模块
出错:
此处未返回所以blogdata什么都没接受到
结果就是被404捕捉
只改第一张不改第二张的后果就是,只捕获了promise,返回空对象
Sql语句别忘了加单引号、双引号。
报错:
原因猜测这边的键值对没有加分号
还是报错。
目测正确传参方式,必须双引号、键值对都得加,最后一行不能有逗号
报错
要把列名的单引号去掉
Api:前后端、不同端(子系统)之间对接的一个术语
url(路由)`/api/blog/list` get s输入输出
路由:Api的一部分,后端系统内部的一个定义
注意点一、
在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。
GET (SELECT):从服务器检索特定资源,或资源列表。
POST (CREATE):在服务器上创建一个新的资源。
PUT (UPDATE):更新服务器上的资源,提供整个资源。
PATCH (UPDATE):更新服务器上的资源,仅提供更改的属性。
DELETE (DELETE):从服务器删除资源。
接口命名
GET /zoos:列出所有动物园
POST /zoos:新建一个动物园
GET /zoos/ID:获取某个指定动物园的信息
PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
DELETE /zoos/ID:删除某个动物园
GET /zoos/ID/animals:列出某个指定动物园的所有动物
DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物
尚未搞清楚的
OkPacket {
fieldCount: 0,
affectedRows: 1,
insertId: 0,
serverStatus: 2,
warningCount: 0,
message: '(Rows matched: 1 Changed: 1 Warnings: 0',
protocol41: true,
changedRows: 1 }