• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Node.js第九章 数据库

武飞扬头像
小柒很爱喵
帮助1

目录

1.  数据库的基本概念

1.1 数据库的概念

1.2 数据库的分类

1.3 数据组织结构

2. MySQL使用介绍

2.1 安装MySQL和MySQL Workbench

2.2 MySQL的基本使用

2.3 使用SQL管理数据库

3. 在项目中使用MySQL

3.1 安装和配置MySQL模块

3.2  操作数据


1.  数据库的基本概念

1.1 数据库的概念

数据库是用来组织、存储、管理数据的仓库。用户可以对数据库的数据进行增加、删除、修改、查询的操作。

1.2 数据库的分类

常见数据库:

  • MySQL : 流行度最高的数据库关系型数据库(社区版免费、企业版收费)
  • SQL Server:(收费)关系型数据库
  • Oracle:(收费)关系型数据库
  • Mongodb:非关系型数据库(社区版免费、企业版收费)

1.3 数据组织结构

传统型数据库的数据组织结构包括几个部分:数据库DataBase(DB)、数据表DataTable(DT)、数据行row、字段file

2. MySQL使用介绍

2.1 安装MySQL和MySQL Workbench

2.2 MySQL的基本使用

1. 连接:打开MySQL Workbench连接数据库、输入密码

学新通2. 界面组成部分:

学新通

3. 创建数据库 

学新通

4. 创建数据表 

学新通

学新通 

5. 向数据表插入数据

学新通 

2.3 使用SQL管理数据库

1.SQL的概念

SQL是一门编程语言,可以用来操作数据库的数据,包括查询数据、增加数据、删除数据、修改数据。

2. SELECT语句

SELECT语句用于从表中查询数据,执行的结果被存储在一个结果表中,语法格式如下:

  1.  
    select * from 表名称 // * 代表查询所有的列
  2.  
     
  3.  
    select 列名称 from 表名称 // 查询指定的列数据

把users表里面所有的数据都查询出来: 

学新通 

从users表中查询用户名、密码:

学新通

3. INSERT INTO语句

向表中插入数据,语法格式:

  1.  
    insert into table_name(列名1,列名2) values (values1, values2);
  2.  
    // 列名和值要一个一个地对应

学新通

4. UPDATE语句

update用于修改表中的数据

学新通

学新通 更新多个列,用逗号分隔即可:

学新通

 5. DELETE语句

delete from 表名 where 列名 = 值 // 注意要加where条件、否则可能把整个表的数据删除了

学新通

 6. where子句

学新通

运算符: 

学新通 

学新通 

7. AND OR运算符

and运算符:同时满足多个条件

or: 满足条件之一即可

学新通 

8. ORDER BY

order by升序、降序的子句,默认是升序排序,或者order by后面加 ASC,降序排序就在order by后面加desc

学新通

多重排序

学新通 9. count(*)函数

count(*)函数用于返回查询结果的总数据条数,语法格式如下:

select count(*) from 表名

学新通

 10. AS

使用as起别名

学新通

3. 在项目中使用MySQL

3.1 安装和配置MySQL模块

前提: 已经安装了MySQL软件、视化软件MySQL WorkBench,并且设置了用户名、密码、和创建了指定的数据库。

1.  node安装mysql第三方包

npm install mysql

2.  配置mysql模块

学新通

3. 测试配置是否正常

其中select 1这个语句没有实质作用,这里只是去测试配置是否正常

学新通

3.2  操作数据

1. 查询数据

  1.  
    const mysql = require('mysql');
  2.  
     
  3.  
    const db = mysql.createPool({
  4.  
    host: '127.0.0.1'
  5.  
    user: 'root',
  6.  
    password: 'admin123',
  7.  
    database: 'my_db_01'
  8.  
    })
  9.  
     
  10.  
    const sqlStr = 'select * from users';
  11.  
     
  12.  
    db.query(sqlStr, (err, res) => {
  13.  
    if(err){
  14.  
    return err.message;
  15.  
    }
  16.  
    console.log(res);
  17.  
    })
学新通

执行结果:查询的数据数组 

学新通

学新通

如果是insert into语句,则返回的result是一个对象,可以通过result.affectRows属性值是否为1来判断插入是否成功。如果是select语句,则返回的result是个数组。

插入数据的快捷方式:

定义对象的键值对时和表的列名对应,可快速插入数据。

学新通

 2. 更新数据:

学新通

 学新通

 3. 删除数据:

学新通

4. 标记删除:

使用DELETE语句,会把真正的数据从表中删除掉,为了保险起见,推荐使用标记删除掉形式,来模拟删除的动作,所谓的标记删除,就是在表中设置类似于status这样但状态字段,来标记当前这条数据是否被删除。

用户执行删除的动作时,我们并没有执行DELETE语句把数据删除掉,而是执行了UPDATE语句,将这条数据对应的status字段标记为删除即可。

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfkhkc
系列文章
更多 icon
同类精品
更多 icon
继续加载