nodejs笔记之连接mysql数据库
1.安装mysql模块;
npm install mysql
2.引入mysql模块
创建一个server.js文件
const http = require("http");
const mystatic = require("./mystatic")
const mysql = require("mysql");
http.createServer((req,res)=>{
console.log(req.url);
mystatic(req,res)
// 连接数据库
const connection = mysql.createConnection({
host:"localhost",
user:"root",
password:"root",
database:"yuedu_db",
charset:"UTF8_GENERAL_CI"
})
connection.connect();
if(req.url =="/api/getGoods"){
connection.query("select * from t_types",function(error,results,fields){
if(error) throw error;
res.writeHead(200,{"Content-Type":"text/plain;charset=utf-8;"});
res.end(JSON.stringify(results))
})
}else if(req.url == "/api/getUsers"){
connection.query("select * from t_articles",function(error,results,fields){
if(error) throw error;
res.writeHead(200,{"Content-Type":"text/plain;charset=utf-8;"});
console.log("the result is "+results)
res.end(JSON.stringify(results))
})
}
}).listen(3000)
创建一个mystatic.js文件
var path =require("path");
var fs = require("fs");
var mime = require("Mime");
function mystatic(req,res){
var path_last=path.extname(req.url);
if(req.url=="/"){
fs.readFile(__dirname+"/app"+"/index.html",function(err,data){
res.writeHead(200,{
"content-type":"text/html;charset=utf-8;"
});
res.end(data)
})
}
if(path_last){
res.writeHead(200,{"Content-type":mime.getType(path_last)+";charset=utf-8;"});
var url = __dirname+(path_last==".icon"?"":"/app")+req.url;
fs.readFile(url,function(err,data){
res.end(data)
})
}
}
module.exports=mystatic;
然后运行server.js启动服务器;
node server.js
每次服务器中的代码修改都需要启动服务器,比较麻烦,但是可以使用nodemon每次帮助自动启动服务器;
具体的看https://www.cnblogs.com/chris-oil/p/6239097.html这篇文章;
向数据库中插入*.json的数据
var mysql = require('mysql');
var data=require("./data.json");
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
database : 'xiaomi',
port: '3307'
});
connection.connect();
for(var i=0;i<data.length;i++){
for(var j=0;j<data[i].list.length;j++){
var sql="insert into product (title,tit,img_url,type,price) values(?,?,?,?,?)";
var obj=data[i].list[j];
connection.query(sql,[data[i].title,obj.tit,obj.img_url,obj.type,obj.price])
}
}
connection.end();
nodejs笔记之连接mysql数据库的更多相关文章
- nodejs进阶(6)—连接MySQL数据库
1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...
- robot framework学习笔记之七—连接mysql数据库
1.安装Database-Library 输入命令:pip install robotframework_databaselibrary 2.添加Database的Library 3.实例 * ...
- 使用nodejs连接mysql数据库实现增删改查
首先要有数据库 使用xampp 或者 phpstudy 可以傻瓜式安装 新建一个项目文件夹 之后在这个目录下初始化package.json (npm init) 先在项目中安装mysql 和 ex ...
- 【MySQL解惑笔记】Navicat 无法远程连接MySQL数据库
安装好Navicat之后远程连接MySQL数据库出现以下报错截图: 出现以上截图怀疑是mysql用户权限不够: GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.1 ...
- EF 连接MySQL 数据库 保存中文数据后乱码问题
EF 连接MySQL 数据库 保存中文数据后乱码问题 采用Code First 生成的数据库,MySQL数据库中,生成的表的编码格式为***** 发现这个问题后,全部手动改成UTF8(图是另一个表的 ...
- VS2015 +EF6 连接MYSQL数据库生成实体
VS2015 +EF6 连接MYSQL数据库生成实体 已安装软件:VS2015 XAMPP Control Panel(Mysql服务器) ...
- 使用VS2013 + EF6 连接Mysql数据库
使用VS2013 + EF6 + .NET4.5 连接Mysql数据库 1.安装插件 在使用Visual Studio 2013添加ADO.NET实体数据模型新建连接时,默认是没有Mysql选项的.此 ...
- R语言-连接MySQL数据库方法
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] R语言连接数据库常用的方法有2种: 1.使用R数据库接口 连接MySQL,使用RMySQL包,使用前RMySQL包要先安 ...
- nodejs中如何使用mysql数据库[node-mysql翻译]
nodejs中如何使用mysql数据库 db-mysql因为node-waf: not found已经不能使用,可以使用mysql代替. 本文主要是[node-mysql]: https://www. ...
随机推荐
- CentOS裸机环境下安装php-7.3.1
安装步骤如下 安装必要的软件 获取源码 编译安装 安装过程可能遇到的一些问题 编译参数详解 安装步骤如下 安装必要的软件 yum install -y autoconf automake libtoo ...
- [LeetCode] Search in a Binary Search Tree 二叉搜索树中搜索
Given the root node of a binary search tree (BST) and a value. You need to find the node in the BST ...
- three.js 使用DragControls.js 拖动元素
首先,引入js文件: <script type="text/javascript" src="./path/to/DragControls.js"> ...
- linux之间免密操作
为了方便分布式集群操作,主机master需要免密操作两个节点slave1和slave2(slave1和slave2在对应机器已经修改hosts文件) 操作步骤: 首先测试连接slave1操作: [ro ...
- [dev] udp socket的read长度问题
场景描述 我的两个程序需要彼此通信.采用unix socket来实现. 并为了简单起见使用了DGRAM,也就是udp通信. 问题描述 1. 用法是这样的 收包的一端使用epoll监听,发包端发送一个2 ...
- API认证&SDK&RESTful
python API的安全认证 我们根据pid加客户端的时间戳进行加密md5(pid|时间戳)得到的单向加密串,与时间戳,或者其它字段的串的url给服务端. 服务端接收到请求的url进行分析 客户 ...
- 学习MySQL过程中的随笔二
MySQL深入学习: 视图 使用视图的目的:多次使用同一张临时表(或者已经存在的表) 视图只是一个虚拟表,其本质为[根据SQL语句获取动态的数据集,并为其命名],用户只需使用别名即可获得实时的 ...
- Random-Forest-Python
1. 近期目标,实现随机森林进行点云分类 1)学习阶段: [干货]Kaggle 数据挖掘比赛经验分享 Kaggle Machine Learning Competition: Predicting T ...
- pandas处理时间序列(3):重采样与频率转换
五.重采样与频率转换 1. resample方法 rng = pd.date_range('1/3/2019',periods=1000,freq='D') rng 2. 降采样 (1)resampl ...
- Pocket Gem OA: Path Finder
1. 有向图 找所有start node到end node之间的路径 输入是一个txt 形式如下: A E A : B C D. B : C C : E D : B. 输出一个List<Stri ...