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. ...
随机推荐
- 变量类型-Set
教程: 集合是一个无序不重复元素的序列,它的特点是:有的可变,有的不可变,元素无序不可重复! 一:集合的创建 (1)使用花括号 set={value1, values2} ...
- Hibernate--Day01
Hibernate是一个面向对象的持久化框架 持久化: 1,把内存中的Java对象保存到存储设备上面: 2,最好的解诀方案:把对象持久化到数据库里面: 3, 在Java里面,把对象持久化到数据库只能使 ...
- python语法_str_eval
dict1 = {} a = str(dict1) type(a) = 字符串 b = eval(a) type(b) = 字典
- Android手机camera和IMU的标定
https://qingsimon.github.io/post/2018-12-28-android%E6%89%8B%E6%9C%BA%E7%9B%B8camera%E5%92%8Cimu%E7% ...
- SQL之NULL值的几种处理方式
1.创建测试表: drop table if exists tab_null_operator; create table tab_null_operator as select 1 as id,'c ...
- 2018-2019-2 网络对抗技术 20165336 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165336 Exp3 免杀原理与实践 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 根据计算机病毒课程知道了每个病毒都有其对应的特征码,杀软是根据这 ...
- linux驱动调试记录
linux驱动调试 linux 目录 /proc 下面可以配置驱动的调试信息,比如给proc目录的自己定制的驱动的一文件设置一个变量,然后驱动程序跟了proc的参数值来配置调试级别.类似于内核调试的级 ...
- 学号 20175313 《实验三 敏捷开发与XP实践》实验报告
目录 实验三 敏捷开发与XP实践 一.实验内容 二.实验步骤 四.心得体会 五.码云链接 六.参考资料 实验三 敏捷开发与XP实践 一.实验内容 (1)编码标准 在IDEA中使用工具(Code-> ...
- HRY and codefire
传送门: 设 dp[i][j]为第一个号i等级,第二个号j等级的期望值 a[i]存每个等级上分的概率 dp[i][j]=a[i]*dp[i+1][j]+(1-a[i])*dp[j][i]+1 dp[j ...
- crypto++
CryptoPP库是一个C++书写的加密算法库,很棒. 在如今的抛却数字证书体系下,只关注公私钥对的情况下,我认为存粹的加解密算法库很有市场,虽然我以前觉得PolarSSL的加解密算法实现不错,但不影 ...