let http = require('http');
let fs = require('fs');
let server = http.createServer((request,response)=>{
request 请求
response 响应
});
server.listen(端口号);
express
npm install express --save
npm install express-static --save
--save-dev
--save
let express = require('express');
let static = require('express-static');
let server = express();
server.listen(8081);
//文件路由
server.use(static('根目录/'));
//get接口
server.get('/接口名',(request,response)=>{
//response.write()/end()
response.send();
});
DataBase 数据库
mysql sqlserver oracle db2000 access.....
mysql
1.轻量
2.免费
1.安装
集成环境
2.操作mysql
命令行操作
图形界面
Navicat For Mysql
Wamp自带 PhpMyAdmin
库 Base
不是存数据的,是管理表的
表 Table
存数据的
列(字段) 某一项数据
行 某一条数据
数据库也有类型
INT 整型 整数
FLOAT 单精度浮点数 一位小数 12.5
DOUBLE 双精度浮点数 多为小数 12.35 12.335
CHAR 字符 一个文字 'a'
VARCHAR 字符串 一串文字 "abc"
TEXT 大字符串 一大串文字
后台操作数据库
nodejs本身不能操作数据库
安装node模块才可以:
mysql模块
npm install mysql --save
引入模块
let mysql = require('mysql');
连接数据库
let db = mysql.createConnection({
host:'数据库地址',
user:'用户名',
password:'密码',
database:'数据库名'
});
执行SQL语句
db.query(SQL语句,(err,data)=>{
跟fs的readFile一样
});
后台的字符串用双引号
前端的字符串用单引号
用户登录
http://localhost:8081/login?username=xxx&password=xxx
return
{"error":0/1,"message":""}
根据用户名在数据库中查询数据
查到
判断密码是否相等
相等
登录成功
不相等
用户名或密码错误
没查到
用户未注册
用户注册
http://localhost:8081/register?username=xxx&password=xxx
return
{"error":0/1,"message":""}
根据用户名在数据库查询
查到
用户名已被占用
没查到
直接注册并且返回注册成功
nodejs 的express框架 post交互用:
body-parser模块
let express = require('express');
let static = require('express-static');
let bodyParser = require('body-parser');
let server = express();
server.listen(8081);
server.use(static('www/'));
server.use(bodyParser.urlencoded({ extended: false }));
server.get('接口名字',(request,reponse)=>{
request.query 里面放着数据
})
server.pose('接口名字',(request,response)=>{
request.body 里面放着数据
});
SQL
数据操作
增删改查
SQL语句————数据库的语言
两种人玩:DBA、后台
查询语句
SELECT * FROM 表名;
SELECT * FROM tab_user;
SELECT * FROM 表名 WHERE xxxxx;
SELECT * FROM tab_user WHERE username='eric';
LIMIT 限制
SELECT * FROM 表名 LIMIT 从哪个索引开始,拿几条
SELECT * FROM tab_newsong WHERE type=1 LIMIT 0,6
SELECT * FROM tab_newsong WHERE type=1 LIMIT 6,6
SELECT * FROM tab_newsong WHERE type=1 LIMIT 12,6
求出一共有多少条
SELECT COUNT(*) AS len FROM tab_newsong
插入语句
INSERT INTO 表名 (字段,字段) VALUES (值,值);
INSERT INTO tab_user (username,password) VALUES ('lisi','123');
*注意:SQL语句中判断是否相等用 =
酷狗
新歌首发
1.获取页数
http://localhost:8081/getPageCount?type=1
return {count:xx}
2.获取内容
http://localhost:8081/getNewSong?page=1&type=1
return [{song_time:'',song_name:''},{},{}....]