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. ...
随机推荐
- mapState ,mapGetters ,mapMutations,mapActions
参考 http://www.imooc.com/article/14741
- 腾讯云“智能+互联网TechDay”:揭秘智慧出行核心技术与创新实践
现如今,地面交通出行与大家的生活息息相关.在当前城市道路日益复杂和拥挤的情况下,如何保证交通出行的安全和便捷相信是每个人以及众多专家.科研工作者重点关注的问题. “智慧交通”系统是解决交通发展瓶颈的有 ...
- 使用sessionStorage进行数据存值
<!DOCTYPE html> <head> <meta charset="UTF-8" /> <meta name="view ...
- CSS实现标题/段落省略效果的三剑客
white-space: nowrap;overflow:hidden;text-overflow:ellipsis; 效果如下:
- 队列->队列的表示和实现
文字描述 队列是和栈相反,队列是一种先进先出(first in first out,缩写FIFO)的线性表,它只允许在表的一端进行插入,而在另一端进行删除.和生活中的排队相似,最早进入队列的元素最早离 ...
- linux上磁盘的操作相关命令
1.查看磁盘IO负载 - 看哪些进程在读写磁盘 lsof /dev/sda2 |head
- python转换图片格式
在图片所在的路径下,打开命令窗口 bmeps -c picturename.png picturename.eps
- CAS单点登录入门
一.单点登录简介 SOO是现在企业比较流行的业务整合解决方案之一,定义解决登录,可以应用在不同系统中,用户只需要登录一次,就可以访问所有相互信任的应用系统(模块开发.同家公司不同产品等等),例如百度, ...
- 2019春第十周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能够对C语言的编写更加得心应手 这个作业在那个具体方面帮助我实现目标 结构体更进一步 参考文献与网址 C语言 ...
- python基础之 迭代器回顾,生成器,推导式
1.迭代器回顾 可迭代对象:Iterable 可以直接作用于for循环的对象统称为可迭代对象:Iterable.因为可迭代对象里面存在可迭代协议,所以才会被迭代 可迭代对象包括: 列表(list) 元 ...