总理说了:学知识不写
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
说明数据库连接成功。
此时的目录结构如下:
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把数据显示到前端