Nodejs+Express操作Mysql

作者: 葶寳寳 | 来源:发表于2017-07-14 20:08 被阅读0次

总理说了:学知识不写demo就是耍流氓。

接下来就谈谈怎么用nodejs来操作mysql数据库。

1.安装mysql

 sudo apt-get install mysql-server mysql-client

在此安装过程中会让你输入root用户的密码,按照要求输入即可。
安装完成之后可以测试是否安装成功:

 sudo netstat -tap | grep mysql

若输出

 tcp 0 0 localhost:mysql *:* LISTEN 13308/mysqld

则表示安装成功。

在shell下操作mysql
2.启动mysql :

/etc/init.d/mysql start

3.登陆mysql

 mysql -u用户名 -p用户密码

比如:键入命令mysql -uroot -p, 回车后提示你输入密码,输入之后,回车即可进入到mysql中了,mysql的提示符是:

 mysql>

设置数据库中文格式

 mysql> alter table User convert to character set utf8;

如果感觉shell下操作不方便,可以安装MySQL客户端

4.我用的是navicat,可以先去官网下载https://www.navicat.com/download/

解压下载好的文件
进入文件目录,然后执行

./start_navicat

navicat就打开了,就可以创建数据库啦。

5.安装express

npm install express --save-dev

6.在server文件夹下创建connection.js文件,编写mySQL数据库连接配置

const mysql = require('mysql');

let db = mysql.createConnection({
  host: '127.0.0.1',
  user: 'root',
  password: '123456',
  database: 'userInfo',
  port: 3306
});

db.connect(function (err) {
  if (err) {
      console.log("err" + err.stack);
      return;
  }
  console.log("connection id " + db.threadId);
});

module.exports = db;

7.在server文件夹同级目录下创建server.js文件,内容如下:

const express = require('express');
const app = new express();
const db = require('./server/connection');

const bodyParser = require('body-parser');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

app.use(express.static(__dirname + '/'));

app.listen(3000, () => {
  console.log('server start, listening is 3000');
});

module.exports = app;

此时,执行node server.js,如果看到

 server start, listening is 3000
 connection id 41

说明数据库连接成功。

此时的目录结构如下:


目录结构.png

demo地址:https://github.com/goddessting/express-nodejs-mysql-demo

8.对数据库的CRUD操作:
为了方便起见,在server文件夹下创建usersql.js文件,专门存放数据库的CRUD操作:

let UserSQL = {
  insert: 'INSERT INTO User(username,name,age,sex,telephone,email,other)
            VALUES(?,?,?,?,?,?,?)',
  queryAll: 'SELECT * FROM User',
  update:'UPDATE User SET USERNAME=?, NAME=?, AGE=?, SEX=?, TELEPHONE=?, 
          EMAIL=?, OTHER=? WHERE id=?',
  delete: 'DELETE FROM User WHERE id=?',
  queryById: 'SELECT * FROM User WHERE id=?',
};

module.exports = UserSQL;

9.实现插入功能:

 //server/routers/insertUser.js
 let express = require('express');
 let router = express.Router();

 let db = require('../connection');

 let userSQL = require('../usersql');

 router.post('/insertUser', (req, res) => {
    db.query(userSQL.insert, [req.body.username, req.body.name, req.body.age, 
    req.body.sex, req.body.telephone, req.body.email, req.body.other], function (err, result) {
    if (err) return err;

    res.send('User added to database with ID: ' + result.insertId);
 });
});

module.exports = router;

此时,将server.js中的以下代码删除:

 const db = require('./server/connection');

通过postman测试,如果返回User added to database with ID: **,说明插入成功。

其他功能就不贴代码了,相信大家都会了。

参考资料:

初识NodeJS服务端开发(Express+MySQL)
Mysql常用命令行大全
Ubuntu下如何配置java ee环境
demo: node.js+mysql把数据显示到前端

相关文章

  • Nodejs+Express操作Mysql

    总理说了:学知识不写demo就是耍流氓。 接下来就谈谈怎么用nodejs来操作mysql数据库。 1.安装mysq...

  • 3 MySQL数据库操作

    2 MySQL数据库操作 3.1 MySQL操作数据库 3.2 MySQL操作数据表 3.2.1 MySQL创建数...

  • 基于Linux的MySQL操作实例(软件安装,mysql基本操作

    基于Linux的MySQL操作实例(软件安装,mysql基本操作,mysql数据类型,建表、插入数据操作) 前言 ...

  • nodejs+express中怎样使用MySql

    首先我们得下载nodejs和express nodejs在官网下载,nodejs官网,尽量下载最新的版本; 下载好...

  • Mysql大全

    1.Mac下Homebrew 安装mysql 2.mysql管理 3.mysql数据库操作 4.mysql表操作 ...

  • php操作mysql语句

    mysql语句 php操作mysql语句

  • 搜企网爬虫作业

    作业要求 (1)csv文件数据写入(2)mysql 操作,python mysql操作 这个需要安装mysql以及...

  • python对mysql的操作

    python对mysql的操作 Mysql 常见操作 数据库操作 PS:用户权限相关数据保存在mysql数据库的u...

  • PHP操作mysql

    准备 事实上:PHP本身不能操作数据库(mysql);但是PHP有扩展可以实现操作mysql PHP操作mysql...

  • python作业-20170601

    作业:(1)csv文件数据写入(2)mysql 操作,python mysql操作 这个需要安装mysql以及p...

网友评论

    本文标题:Nodejs+Express操作Mysql

    本文链接:https://www.haomeiwen.com/subject/qquohxtx.html