zoukankan      html  css  js  c++  java
  • 全栈项目|小书架|服务器开发-Koa2 连接MySQL数据库(Navicat+XAMPP)

    为什么使用数据库

    为什么需要数据库?-知乎

    相比与文件系统,数据库具有以下优势:

    • 高效率:查找效率高
    • 高可用:可数据库共享
    • 安全性强:数据不能随意修改

    选择哪个数据库

    数据库可以分为关系型数据库非关系型数据库

    关系型数据库:是指采用了关系模型来组织数据的数据库,关系模型指的就是二维表格模型(一个表由行和列组成),而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

    代表的数据库有:
    在这里插入图片描述

    非关系型数据库(NoSQL)NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”。以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对。

    元组(tuple)是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。 在二维表里,元组也称为行。

    代表的数据库有:
    在这里插入图片描述

    参考1:关系型数据库和非关系型数据库区别、oracle与mysql的区别
    参考2:非关系型数据库(NoSQL)相关概念介绍(附:常见的非关系型数据库)
    参考3:数据库-维基百科

    目前这个项目中使用的还是传统的MySQL数据库。

    mysql2 使用

    适用于Node.jsMySQL驱动,侧重于性能。支持预备语句,非utf8编码,二进制日志协议,压缩,ssl等。
    地址:sidorares/node-mysql2

    安装

    npm install --save mysql2
    

    使用

    详细使用看sidorares/node-mysql2中的 README.md

    简单使用例子:

    // 获取实例
    const mysql = require('mysql2');
    
    // 创建数据库连接
    const connection = mysql.createConnection({
      host: 'localhost',
      user: 'root',
      database: 'test'
    });
    
    // 第一种查询数据的方式
    connection.query(
      'SELECT * FROM `table` WHERE `name` = "Page" AND `age` > 45',
      function(err, results, fields) {
        console.log(results); // results contains rows returned by server
        console.log(fields); // fields contains extra meta data about results, if available
      }
    );
    
    // 另一种方式查询数据的方式
    connection.query(
      'SELECT * FROM `table` WHERE `name` = ? AND `age` > ?',
      ['Page', 45],
      function(err, results) {
        console.log(results);
      }
    );
    

    以上的数据库操作需要我们对SQL语句比较熟悉,如果不熟悉的话可以使用ORM来操作数据库。

    为什么使用ORM

    ORM全称:对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。对象关系映射-维基百科

    使用ORM操作数据库,我们可以不用记住命令,只要使用ORM库提供的API即可实现相应的功能。

    这里使用Sequelize来操作数据库,上面实现的例子只要记住基本的API

    const user = await User.findAll({
                where: {
    			    name: 'Page',
    			    age: 45
    		  }
            })
    

    ps: 详细的Sequelize介绍可在后一章查看

    通过命令行的方式去查看数据库的数据显然不是一个好办法,这时候可视化查看和操作数据库的数据就显得很必要了,使用MySQL数据库的用户可以尝试使用Navicat for MySQL

    Navicat for MySQL是管理和开发 MySQLMariaDB 的理想解决方案。了解更多 >官网

    XAMPP

    有些时候MySQL并不是那么容易安装,这时候可以使用集成的工具来安装,XAMPP就是个不错的选择。

    XAMPP是最受欢迎的PHP开发环境 XAMPP是一个完全免费,易于安装的Apache发行版,其中包含MariaDBPHPPerlXAMPP开源软件包已设置为非常易于安装和使用。官网


    咨询请加微信:轻撩即可。
    在这里插入图片描述

  • 相关阅读:
    查询死锁和处理死锁(SqlServer)
    日期函数(SqlServer)
    [Shell] echo/输出 中引用命令
    Github 团队协作基本流程与命令操作 图解git工作流程
    HTML 引入 CSS、JS 的三种方式
    JavaScript 字符串匹配 | JS 的正则用法 | 从后边匹配
    Sublime + Chrome 本地调试 CSS 选择器
    常用 CSS 选择器
    使用 Sublime 或其他编辑器调试 Tampermonkey 油猴脚本
    使用 chrome 扩展 Vimium 实现快捷键关闭其他标签页
  • 原文地址:https://www.cnblogs.com/gdragon/p/11863316.html
Copyright © 2011-2022 走看看