首先要有数据库 使用xampp 或者 phpstudy 可以傻瓜式安装
新建一个项目文件夹 之后在这个目录下初始化package.json (npm init) 先在项目中安装mysql 和 express ,这个项目里使用express 因为express实现路由比较方便 cnpm install mysql express --save 已经安装好mysql和express 接下来创建app.js 在app.js里引入express并实例化express对象 在app.js里引入mysql开启一个服务器
接下来创建连接
使用db.connect()方法连接 ,这个方法接收一个参数 有错误就报错
创建数据库 在一个路由里写sql语句 使用db.query来执行sql语句 db.query()方法有两个参数 ,第一个参数是要执行的语句 第二个参数是个回调函数 回调函数里可以接收错误信息,也有执行后回来的信息 依然是错误优先
接下来在浏览器里访问127.0.0.1:3000/createdb
页面上显示创建成功
数据库里已经有nodemysql数据库了 这个时候就可以在配置连接数据库里加上当前的数据库了创建表 也是在一个路由里写sql语句 类型是 int 数值 AUTO_INCREMENT 让id 自增, VARCHAR(255) 字符串 长度255,PRIMARY KEY(ID) 把id设为主键
使用db.query()方法执行sql语句
现在在浏览器里访问127.0.0.1:3000/createpoststable
页面上显示创建成功
数据库里已经有posts的表了 接下来往数据库这个表里插入内容插入内容 还是在一个路由里操作 写个问号 防止sql注入 会在执行时把post传进sql语句 替换问号 浏览器中访问127.0.0.1:3000/addpost1 页面上显示成功 数据库里也有了这一条数据
查询内容 查询posts表中所有数据 浏览器中访问 127.0.0.1:3000/getposts 页面显示查询成功 打印了查询到的结果 如果要把查询到的内容返回出去 使用res.json(result) 浏览器中效果 接下来查询单条内容 使用req.params.id接收传来的参数 浏览器中访问127.0.0.1:3000/getposts/1 页面中显示了查询到的单条数据
更新内容 更新的是某一条内容 所以还用传参数 需要注意的是 要更新的newTitle是字符串 所以写sql语句的时候需要使用单引号 引起来 ,如果是数值就不用了. 浏览器中访问127.0.0.1:3000/updatepost/1 页面上显示更新成功 访问127.0.0.1:3000/getposts/1 看看数据有没有变化 有变化了
删除内容 还是在一个路由里写方法 传来要删除的参数 浏览器中访问127.0.0.1:3000/deletepost/1 删除第一条数据 页面上显示删除成功 数据库里只有一条数据了
至此 使用nodejs+express 连接mysql数据库 增删改查 已经全部实现 对应demo链接: http://note.youdao.com/noteshare?id=7c4348713a5b07f47d959b4bc32915b9