美文网首页
15、nodejs(国庆+中秋)(17-26)

15、nodejs(国庆+中秋)(17-26)

作者: 夜幕小草 | 来源:发表于2018-01-01 18:22 被阅读20次

    ------------------------------------------------------17------------------------------------------------------------
    数据 - 数据库

    关系型数据库:
    MySQL、Oracle、SQLServer、Access、db2、fox pro

    MySQL:
    免费、中小网站
    优点:性能非常不错
    缺点:集群、容灾稍微弱一些

    Oracle:
    挺贵、大型应用、金融级
    优点:性能非常不错、集群、容灾非常强
    缺点:挺贵

    文件型:
    sqlite、mongodb

    空间型:


    Server端:
    数据存在

    Client端:
    管理工具、Node


    Server安装


    数据基本概念:
    两种单位:
    1.库:文件夹-用来管理,本身没法存数据
    2.表:文件-存数据的

    表-Excel:
    行-一条数据
    列(字段、域)-一个数据项


    用户名
    密码

    主键:唯一、性能高
    唯一标识符


    server:
    client:
    Navicat-管理工具
    NodeJS-程序


    库-管理,存不了数据
    表-存数据
    字段-列
    行-一条数据

    -------------------------------------------------------------18----------------------------------------------------------
    数据库

    NodeJS不支持MySQL

    npm

    服务端:
    客户端:
    node的mysql模块

    1.连接
    2.查询

    SQL=>Structured Query Language(结构化查询语句)

    SQL:
    4大查询语句——增删改查

    增-INSERT
    INSERT INTO 表 (字段列表) VALUES(值列表)
    INSERT INTO user_table (ID, username, password) VALUES(0, 'blue2', '987654');

    删-DELETE

    改-UPDATE

    查-SELECT
    SELECT 什么 FROM 表
    SELECT * FROM user_table;

    SQL标准写法:
    1.关键字大写
    2.库、表、字段需要加上``


    1.下载mysql模块(client)
    2.连接
    var db=mysql.createConnection(host, port, user, password, database) //?
    3.查询
    db.query(SQL, (err, data)=>{})
    4.SQL语句
    增删改查

    -------------------------------------------------------------19---------------------------------------------------------
    数据字典——数据定出来

    1.banner(banner_table)
    ID
    title 标题 varchar(32)
    sub_title 副标题 varchar(16)
    src 图片地址 varchar(64)

    2.文章(article_table)
    ID
    author 作者 varchar(16)
    author_src 作者头像 varchar(64)
    title 标题 varchar(32)
    post_time 发布时间(s) int
    content 内容 text
    n_like 赞 int

    3.用户(user_table)
    ID
    username 用户名 varchar(32)
    password 密码 varchar(32)
    src 头像 varchar(64)
    -------------------------------------------------------------24--------------------------------------------------------

    数据库:
    SQL
    四大操作语句-
    1.删 DELETE
    DELETE FROM 表 WHERE 条件
    
    2.增 INSERT
    INSERT INTO 表 (字段列表) VALUES(值列表)
    
    3.改 UPDATE
    UPDATE 表 SET 字段=值,字段=值,... WHERE 条件
    
    4.查 SELECT
    SELECT * FROM 表 WHERE 条件
    
    ------------------------------------------------------------------------------
    
    子句:
    WHERE 条件
    
    WHERE name='blue'
    WHERE age>18
    WHERE age<=18
    WHERE age>=18 AND score<60
    WHERE cach>100 OR score>10000
    
    ORDER 排序
    ORDER BY age ASC/DESC
      ASC-升序(从小到大)
      DESC-降序(从大到小)
    
    --------------------------
    
    ORDER BY price ASC
    
    *价格(price)升序排序,如果价格相同,再按销量(sales)降序排序
    ORDER BY price ASC, sales DESC
    
    --------------------------
    
    GROUP   聚类-合并相同
    
    *统计每个班人数
    ID  class   name
    "1" "1" "小明"
    "2" "2" "小红"
    "3" "1" "小刚"
    "4" "2" "小华"
    "5" "3" "小强"
    "6" "3" "小四"
    "7" "1" "小刘"
    "8" "1" "小花"
    
    SELECT * FROM student_table;
    ID  class   name
    "1" "1" "小明"
    "2" "2" "小红"
    "3" "1" "小刚"
    "4" "2" "小华"
    "5" "3" "小强"
    "6" "3" "小四"
    "7" "1" "小刘"
    "8" "1" "小花"
    
    SELECT * FROM student_table GROUP BY class;
    ID  class   name
    "1" "1" "小明"
    "2" "2" "小红"
    "5" "3" "小强"
    
    SELECT class FROM student_table GROUP BY class;
    class
    "1"
    "2"
    "3"
    
    SELECT class,COUNT(class) FROM student_table GROUP BY class;
    class   COUNT(class)
    1   4
    2   2
    3   2
    
    --------------------------
    
    WHERE子句
    ORDER子句——多条件排序
    GROUP子句——合并
      COUNT、MIN、MAX、AVG
    
    --------------------------
    
    GROUP
    

    -------------------------------------------------------------25--------------------------------------------------------

    数据库
    
    GROUP-合并
    
    *统计每个班的平均分
    >SELECT * FROM student_table;
    ID  class   name    score
    1   1   小明  34
    2   2   小红  98
    3   1   小刚  26
    4   2   小华  99
    5   3   小强  18
    6   3   小四  95
    7   1   小刘  57
    8   1   小花  100
    
    >SELECT * FROM student_table GROUP BY class;
    ID  class   name    score
    1   1   小明  34
    2   2   小红  98
    5   3   小强  18
    
    >SELECT class,AVG(score) FROM student_table GROUP BY class;
    class   score
    1   54.25
    2   98.5
    3   56.5
    
    *每个班级的最高、最低分
    >SELECT class,MAX(score),MIN(score) FROM student_table GROUP BY class;
    ID  class   name    score
    1   1   小明  34
    2   2   小红  98
    3   1   小刚  26
    4   2   小华  99
    5   3   小强  18
    6   3   小四  95
    7   1   小刘  57
    8   1   小花  100
    
    ------------------------------------------------------------------------------
    
    *每个人的消费总额
    ID  name    price
    1   blue    3
    2   blue    5
    3   张三  28000
    4   李四  81000
    5   blue    4
    6   张三  46000
    7   李四  38000
    8   赵六  18
    
    SELECT name,SUM(price) FROM sales_table GROUP BY name;
    
    SELECT name,SUM(price) FROM sales_table GROUP BY name ORDER BY SUM(price) DESC;
    name    SUM(price)
    李四  119000
    张三  74000
    赵六  18
    blue    12
    
    SELECT name,SUM(price) FROM sales_table GROUP BY name ORDER BY SUM(price) ASC;
    
    ------------------------------------------------------------------------------
    
    WHERE
    ORDER
    GROUP
    *LIMIT-分页
    

    -------------------------------------------------------------26--------------------------------------------------------
    LIMIT-限制输出

    分页:
    1.所有数据给前端
    2.后台只给一丁点数据

    LIMIT 10; 前10条
    LIMIT 5,8; 从5开始,要8个

    分页:
    每页20条

    第1页 0,20 0~19
    第2页 20,20 20~39
    第3页 40,20
    第n页 (n-1)*20,20


    子句之间是有顺序
    WHERE GROUP ORDER LIMIT
    筛选 合并 排序 限制

    SELECT class,COUNT(class) FROM student_table
    WHERE score>60
    GROUP BY class
    ORDER BY COUNT(class) DESC
    LIMIT 2;


    1.数据字典
    2.后台接口、静态资源
    3.angular


    相关文章

      网友评论

          本文标题:15、nodejs(国庆+中秋)(17-26)

          本文链接:https://www.haomeiwen.com/subject/egiewxtx.html