zoukankan      html  css  js  c++  java
  • Node09

    1、数据基本概念:

      (01)、两种单位

            1、库:文件夹 - 用来管理,本身没法存数据

            2、表:文件 - 存数据的

      (02)、表 => Excel

          1、行  --  一条数据

          2、列  -- (字段、域)一个数据项

    2、基本用法

      (01)、先建库再建表

      (02)、名、类型、长度、小数点、不是null

      (03)、主键:唯一标识符(特点:唯一的、性能高

    3、下载MySQL依赖  =>  npm(或cnpm)   -i   mysql

    4、SQL  =>  结构化查询语句   标准:1、关键字大写;2、库、表、字段需要加上 ``

      (01)、增 - INSERT  

            语法:INSERT INTO 表名称 VALUES (值1, 值2,....)

            INSERT  INTO 表 (字段列表) VALUES(值列表)

            例子:INSERT  INTO `user_table` ( `ID`, `username`, `password` )  VALUES  ( 0, 'bule2', '123456' ); 

      (02)、删 - DELETE 语句用于删除表中的行

            语法:DELETE FROM 表名称 WHERE 列名称 = 值

      (03)、改 - UPDATE 语句用于修改表中的数据

            语法:UPDATE 表名称 SET  列名称  = 新值  WHERE 列名称  = 某值

      (04)、查 - SELECT

            语法:SELECT 列名称 FROM 表名称

            SELECT  选择什么  FROM  表

            例子:SELECT  *(*: 代表所有)  FROM user_table

            例子:SELECT * FROM article_table WHERE ID=${req.query.id}(当ID和地址栏的id相等时)

      (05)、运算符  -  SQL AND & OR 

            AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。

            AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

            如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

            如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

      (06)、排序  -  ORDER BY 语句用于对结果集进行排序。

            ORDER BY 语句

            ORDER BY 语句用于根据指定的列对结果集进行排序。

            ORDER BY 语句默认按照升序对记录进行排序。

            如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

      (07)、聚类 - GROUP   合并相同 

            例子:查看班级出现次数,COUNT:计数

            SELECT class,COUNT(class)FROM student_table GROUP BY class;

    //nodejs 代码
    const mysql = require('mysql');
    //1、连接
    //createConnection(哪台服务器,用户名,密码,数据库名)
    var db = mysql.createConnection({
        host: 'localhost',
        user: 'root',
        password: '123456',
        database: '20171215',
      charset: "UTF8_GENERAL_CI", // 字符编码 ( 必须大写 )
      typeCast: true, // 是否把结果值转换为原生的 javascript 类
      supportBigNumbers: true, // 处理大数字 (bigint, decimal), 需要开启 ( 结合 bigNumberStrings 使用 )
      bigNumberStrings: true, // 大数字 (bigint, decimal) 值转换为javascript字符对象串
      multipleStatements: false, // 允许每个mysql语句有多条查询, 未防止sql注入不开启
      //connectTimeout: 5000, // 数据库连接超时时间, 默认无超时
    });
    //2、查询
    //query(查询操作(删除、添加、修改),回调)
    //"":SQL 语句
    db.query("SELECT * FROM user_table12", function(err, data){
        if (err){
            console.log('请求出错!', err);
        }else{
            console.log('请求成功!', data);
        }
    });

    5、nodejs中MySQL实例:

    1、MySQL表

    //nodejs 代码
    const express = require('express');
    const static = require('express-static');
    const cookieParser = require('cookie-parser');
    const cookieSession = require('cookie-session');
    const bodyParser = require('body-parser');
    const ejs = require('ejs');
    const consolidate = require('consolidate');
    const multer = require('multer');
    const mysql = require('mysql');
    
    //连接数据库
    const db = mysql.createConnection({host: 'localhost', user: 'root', password: '123456', database: 'blog'});
    
    var server = express();
    server.listen(8080);
    
    //1、解析cookie
    server.use(cookieParser('fjalskdjasdoasjdlaskd'));
    //2、使用session
    var arr = [];
    for (var i=0; i<100000; i++){
        arr.push('win_bin' + Math.random());
    }
    server.use(cookieSession({name: 'bin_win', keys: arr, maxAge: 20*3600*1000}));
    //3、post数据
    server.use(bodyParser.urlencoded({extended: false}));
    
    //4、配置模板
    //4.1、输出什么东西
    server.set('view engine', 'html');
    //4.2、模板输出放在哪
    server.set('views','./views');
    //4.3、以哪种模板形式输出
    server.engine('html', consolidate.ejs);
    //4.4、接受用户数据
    server.get('/', function (req, res) {
        //查询数据库
        db.query('SELECT * FROM banner_table', function (err, data) {
            if (err){
                console.log(err);
                res.status(404).send('访问数据库错误'+err);
            }else {
                console.log(data);
                res.render('index.ejs', {banners: data});
            }
        });
    });
    
    //5、static数据
    server.use(static('./www'));

    ejs代码

      <% for (var i=0; i<banners.length; i++) { %>
                    <li><img src="<%= banners[i].src %>" alt=""/>
                        <div class="text-box">
                            <h2><%= banners[i].title %></h2>
                            <p><%= banners[i].sub_title %> / 文</p>
                        </div>
                    </li>
                <% } %>

      

  • 相关阅读:
    django项目环境搭建备忘
    Python IDE的选择和安装
    MAC上python环境搭建
    hadoop1.2.1+hbase0.90.4+nutch2.2.1+elasticsearch0.90.5配置(伪分布式)
    ubuntu下hadoop完全分布式部署
    ubuntu下集群设置静态ip
    C语言调用库函数实现生产者消费者问题
    poj 1703(带权并查集)
    poj 1330
    poj1724
  • 原文地址:https://www.cnblogs.com/patriot/p/8042843.html
Copyright © 2011-2022 走看看