node连接mysql其实很容易,以node中最常用的express为例,怎么创建一个node项目就不谈了,如果这还不知道那需要先去学习一些创建node项目的基础知识:
先安装:npm i express–save ,npm i mysql --save
然后调用并使用,如下:
const express=require(‘express’)
const mysql=require(‘mysql’)
const app=express()
const port =process.env.port||3000
app.listen(port,()=>{
console.log(‘服务器已运行:’+port)
})
app.get("/",(req,res)=>{
res.send(“大家好”)
})
const db = mysql.createConnection({
host:‘localhost’,
user:‘root’,
password:‘这里是你自己安装mysql时设的登录密码’,
database:‘nodemysql’(这个nodemysql一开始是没有的,需要你手动或用程序创建以后才有,一开始没有就设为空)
})
db.connect((err)=>{
if(err) throw err
console.log(“mysql 已连接”)
})
//创建数据库(这里创建了上面的nodemysql,创建了以后上面就可以填了)
app.get("/createdb",(req,res)=>{
let sql=‘create database nodemysql’
db.query(sql,(err,result)=>{
if(err) throw err
res.send(“数据库已创建”)
})
})
//创建表
app.get("/createPostsTable",(req,res)=>{
let sql=create table posts(id int auto_increment,title varchar(255),body varchar(255), primary key(id))
db.query(sql,(err,result)=>{
if(err) throw err
res.send(“Posts表已创建”)
})
})
//插入数据
app.get("/addPost1",(req,res)=>{
let post={title:“post one”, body:“this is post one”}
let sql=‘insert into Posts set ?’
db.query(sql,post,(err,result)=>{
if(err) throw err
res.send(“Post1已插入”)
})
})
app.get("/addPost2",(req,res)=>{
let post={title:“post two”, body:“this is post two”}
let sql=‘insert into Posts set ?’
db.query(sql,post,(err,result)=>{
if(err) throw err
res.send(“Post2已插入”)
})
})
//查询内容
app.get("/getposts",(req,res)=>{
let sql=‘select * from posts’
db.query(sql,(err,result)=>{
if(err) throw err
// console.log(result)
res.json(result)
})
})
//查询单条内容
app.get("/getposts/:id",(req,res)=>{
// let sql='select * from posts where id = '+req.params.id
let sql=select * from posts where id = ${req.params.id}
db.query(sql,(err,result)=>{
if(err) throw err
res.json(result)
})
})
//更新单条内容
app.get("/updateposts/:id",(req,res)=>{
let newtitle=“post 1”
let sql=update posts set title='${newtitle}' where id = ${req.params.id}
db.query(sql,(err,result)=>{
if(err) throw err
res.send(“更新成功”)
})
})
//删除单条内容
app.get("/deleteposts/:id",(req,res)=>{
let sql=delete from posts where id = ${req.params.id}
db.query(sql,(err,result)=>{
if(err) throw err
res.send(“删除成功”)
})
})
很简单吧,一看就懂,然后在浏览器里访问这些接口就行了
可视化查看mysql的工具建议使用navicat,比较好用