(17.05.16)express、mysql、数据库类型、nodejs 的express框架 post交互用、SQL

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:''},{},{}....]

你可能感兴趣的:((17.05.16)express、mysql、数据库类型、nodejs 的express框架 post交互用、SQL)