node連接mysql數據庫+做接口

  1. 首先安裝node 和 所需模塊(express、mysql)
  2. 建立數據庫
const express = require('express');
const app = express();

//解析表單的插件
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({
	extended: false
}))


//創建數據庫連接對象
const mysql = require('mysql');
const conn = mysql.createConnection({
	host: 'localhost', //數據庫地址
	user: 'root', //賬號
	password: 'root', //密碼
	database: 'test', //庫名
	multipleStatements: true //允許執行多條語句
});


//查詢出所有數據
app.get('/api/getlist', (req, res) => {
	const sqlStr = 'select * from websites '
	conn.query(sqlStr, (err, results) => {
		if (err) return res.json({
			err_code: 1,
			message: '數據不存在',
			affextedRows: 0
		})
		res.json({
			err_code: 200,
			message: results,
			affextedRows: results.affextedRows
		})
	})
});

//查詢數據
app.get('/api/getlistdetl', (req, res) => {
	const number = req.query.number
	console.log(req.query)
	const sqlStr = 'select * from websites where alexa=?'
	conn.query(sqlStr, number, (err, results) => {
		if (err) return res.json({
			err_code: 1,
			message: '數據不存在',
			affextedRows: 0
		})
		res.json({
			err_code: 200,
			message: results,
			affextedRows: results.affextedRows
		})
	})
});

//添加

app.post('/api/addcard', (req, res) => {
	const user = req.body
	const sqlStr = 'insert into websites set ?'
	conn.query(sqlStr, user, (err, results) => {
		if (err) return res.json({
			err_code: 1,
			message: err,
			affectedRows: 0
		})
		res.json({
			err_code: 0,
			message: '恭喜成功',
			affectedRows: results.affectedRows
		})
	})

})

app.listen(3000, () => {
	console.log('正在監聽端口3000,http://192.168.8.151:3000');
})
// var http = require('http');
// //開啓服務
// var server = http.createServer(function(req, res) {
// 	console.log('有客戶端連接'); //創建連接成功顯示在後臺
// 	res.writeHeader(200, {
// 		'content-type': 'text/html;charset="utf-8"'
// 	});
// 	res.write('這是正文部分'); //顯示給客戶端
// 	res.end();
// }).listen(8888);
// console.log('服務器開啓成功');

// var http = require('http');
// var fs = require('fs');
// var root = "C:/Users/YWL/Desktop/e"
// //開啓服務
// var server = http.createServer(function(req, res) {
// 	console.log(req, res)
// 	var url = req.url;
// 	var file = root + url;
// 	fs.readFile(file, function(err, data) {
// 		if (err) {
// 			res.writeHeader(404, {
// 				'content-type': 'text/html;charset="utf-8"'
// 			});
// 			res.write('<h1>404錯誤</h1><p>你要找的頁面不存在</p>');
// 			res.end();
// 		} else {
// 			res.writeHeader(200, {
// 				'content-type': 'text/html;charset="utf-8"'
// 			});
// 			res.write(data); //將index.html顯示在客戶端
// 			res.end();

// 		}
// 	})
// }).listen(8888);
// console.log('服務器開啓成功');

var mysql = require('mysql');
var connection = mysql.createConnection({
	host: 'localhost',
	user: 'root',
	password: 'root',
	port: '3306',
	database: 'test'
});

connection.connect();

/*
	@刪除數據
*/

var delSql = 'DELETE FROM websites where id=2';
//刪
connection.query(delSql, function(err, result) {
	if (err) {
		console.log('[DELETE ERROR] - ', err.message);
		return;
	}

	console.log('--------------------------DELETE----------------------------');
	console.log('DELETE affectedRows', result.affectedRows);
	console.log('-----------------------------------------------------------------\n\n');
});

connection.end();

/*
	@更新數據庫
*/

// var modSql = 'UPDATE websites SET name = ?,url = ? WHERE Id = ?';
// var modSqlParams = ['更新數據庫', 'https://www.百度.com', 2];
// //改
// connection.query(modSql, modSqlParams, function(err, result) {
// 	if (err) {
// 		console.log('[UPDATE ERROR] - ', err.message);
// 		return;
// 	}
// 	console.log('--------------------------UPDATE----------------------------');
// 	console.log('UPDATE affectedRows', result.affectedRows);
// 	console.log('-----------------------------------------------------------------\n\n');
// });

// connection.end();

/*
	@增加一條數據向數據庫
*/
/*var addSql = 'INSERT INTO websites(Id,name,url,alexa,country) VALUES(0,?,?,?,?)';
var addSqlParams = ['菜鳥工具', 'https://c.runoob.com', '23453', 'CN'];

//增
connection.query(addSql, addSqlParams, function(err, result) {
	if (err) {
		console.log('[INSERT ERROR] - ', err.message);
		return;
	}

	console.log('--------------------------INSERT----------------------------');
	//console.log('INSERT ID:',result.insertId);        
	console.log('INSERT ID:', result);
	console.log('-----------------------------------------------------------------\n\n');
});

connection.end();*/


/*
	@查詢數據庫{websites}表信息
*/
// var sql = 'SELECT * FROM websites';

// //查
// connection.query(sql, function(err, result) {
// 	if (err) {
// 		console.log('[SELECT ERROR] - ', err.message);
// 		return;
// 	}

// 	console.log('--------------------------SELECT----------------------------');
// 	console.log(result);
// 	console.log('------------------------------------------------------------\n\n');
// });

// connection.end();


/*
	@連接初始化數據庫
*/
// connection.query('SELECT 1 + 1 AS solution', function(error, results, fields) {
// 	if (error) throw error;
// 	console.log('The solution is: ', results[0].solution);
// });

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章