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. ...
随机推荐
- Windows系统JDK安装配置
JDK和JRE的安装 打开java的官方网站,下载安装程序,版本根据自己情况选择: 双击安装程序: 点击"下一步": 此处推荐默认路径安装,如果自定义安装目录,则需记住自定义的安装 ...
- 严重: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'goodsController' defined in file [D:\eclipse\eclipse-space\pinyougou_parent\pinyou
由于错误太宽,没法截取完整的,所以不怎么连贯,但是不影响错误的解决. 这个错误是因为service无法自动注入.显示嵌套状态异常. 我就查看了一下我的坐标和配置文件,配置文件的路径和访问地址都是正确的 ...
- [math] 我对对数的最新理解
前言 作为资深学渣,每次遇到对数就极度恐慌.恐慌不是因为要考试---.而是因为不理解,只能靠死记硬背运算规则.不能进行有效的推理,这让我极度不爽,因为会忘记.故惶恐. 所以总是耿耿于怀,想要试图理解对 ...
- Python的基本语法1
一.python的基本数据类型 (1)6种基本数据类型 1.数字类型 int 整数,2,0,-4等 float 浮点数,如1.2,-0.3等 bool 布尔类型,True,False complex ...
- 记录一个bootstrap惨痛的错误
记录一个bootstrap的错误,这个错误因为我删除了一个class就导致了页面上显示的错误,这是一个惨痛的教训,特此记录,提醒自己在做前端的修改时,一定要慎之又慎.如果真的要做改动,改完之后也要测一 ...
- [Unity][安卓]Unity和Android Studio 3.0 交互通讯(1)Android Studio 3.0 设置
[安卓]Android Studio 3.0 JDK安卓环境配置(2017.10) http://blog.csdn.net/bulademian/article/details/78387052 [ ...
- [SpringMVC]自定义注解实现控制器访问次数限制
我们需要根据IP去限制用户单位时间的访问次数,防止刷手机验证码,屏蔽注册机等,使用注解就非常灵活了 1 定义注解 @Retention(RetentionPolicy.RUNTIME) @Target ...
- defaultdict(list)
- A-the Beatles
传送门: 题意:题目给出n,k分别代表在这个环中饭店的个数和两个饭店相离的距离.然后再给出一组a,b分别代表在某一点s里最近饭店的距离和在这个s点走一步之后到达的点离最近饭店的距离. 然后问这个人再次 ...
- _sntprintf_s 和 _sntprintf 区别
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/snprintf-s-snprintf-s-l-snwprintf-s ...