> 웹 프론트엔드 > JS 튜토리얼 > 노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

青灯夜游
풀어 주다: 2023-02-28 19:52:16
앞으로
2109명이 탐색했습니다.

노드는 MySQL 데이터베이스를 어떻게 운영하나요? 다음 문서에서는 노드 프로젝트에서 MySQL 데이터베이스를 추가, 삭제, 수정 및 쿼리하는 방법을 안내합니다. 도움이 되기를 바랍니다.

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

mysql을 다운로드하여 설치하고 설치가 성공했는지 확인하세요


노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

net start mysql
로그인 후 복사
  • MySQL 시작
  • 바탕화면에서 내 컴퓨터를 마우스 오른쪽 버튼으로 클릭하여 컴퓨터 관리에 들어가 mysql이 설치되었는지 확인할 수 있습니다. [관련 튜토리얼 권장 사항: nodejs 비디오 튜토리얼]

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

navicat 다운로드 및 설치


기능: mysql 데이터베이스 연결 및 운영 기능 제공

Download

www.navicat.com.cn/products# na...

Install

더블클릭하여 다음 단계까지

을 사용하여 애플리케이션을 찾고, 시작을 클릭하세요

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

연결 테스트에 성공하면 확인 버튼을 클릭하여 공식적으로 mysql에 연결할 수 있습니다. 노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

연결 후 효과는 다음과 같습니다.

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

데이터베이스 소개


데이터베이스란 무엇입니까

English: database 데이터를 저장하고 관리하는 것이 바로 데이터베이스입니다. database 保存和管理数据的仓库就是数据库。

什么是数据? 文件,图片,视频,订单,用户名,密码等等。

这些数据都需要有专门的地方来保存和管理。

在我们没有学习数据库技术之前,我们使用的数据都是以文件系统(db.json)的方式保存的。我们需要一个专门的软件来管理我们的数据, 这就是数据库。

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

两大阵营-数据库分类

  • 关系型数据库,代表产品:

    • MySQL
    • Oracle
    • Sql server
    • DB2
  • 非关系型数据库

    • redis 键值存储数据库
    • HBaise列存储数据库
    • mongodb 面向文档数据库
    • neo4j 图形数据库
    • Elasticsearch 搜索引擎存储

参考:数据库使用排名 db-engines.com/en/ranking

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

理解关系型数据库

在关系型数据库中,存在三级关系:

  • 数据库
  • 数据表
  • 字段

类比excel

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

  • 每一列都是一类数据 --- 字段
  • 每一行代表一条数据 --- 记录
  • 데이터란 무엇인가요? 파일, 사진, 비디오, 주문, 사용자 이름, 비밀번호 등.
이러한 데이터는 특별한 장소에 저장하고 관리해야 합니다. 데이터베이스 기술을 배우기 전에는 우리가 사용하는 데이터가 모두 파일 시스템(db.json)에 저장되어 있었습니다. 데이터를 관리하려면 가 필요합니다. 이것이 바로 데이터베이스입니다. 노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

2캠프 - 데이터베이스 분류OracleSql serverDB2
전문 소프트웨어
관계형 데이터베이스, 대표제품 :
MySQL
비 관계형 데이터베이스 ationalREDIS🎜 키-값 저장 데이터베이스 데이터베이스 칼럼 스토리지 데이터베이스 🎜🎜🎜mongodb🎜 문서-지향 데이터베이스 🎜🎜neo4j 그래프 데이터베이스 엘라스틱 검색 엔진 스토리지 님 참조 : 데이터베이스 사용 순위< a href="//m.sbmmt.com/link/58ad1729b6c9d16dc19b497daa34d3f1" target="_blank" title="https://db-engines.com/en/ranking" ref="nofollow noopener noreferrer"> db-engine.com/en/ranking🎜🎜🎜노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.🎜

🎜관계형 데이터베이스 이해🎜🎜🎜관계형 데이터베이스에는 세 가지 수준의 관계가 있습니다. 🎜🎜🎜Database🎜🎜데이터 테이블🎜🎜필드 🎜🎜 🎜Analogy🎜excel🎜:🎜🎜노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.🎜🎜🎜각 열은 데이터 유형입니다--- 필드🎜🎜각 행은 데이터 조각을 나타냅니다--- 레코드🎜🎜🎜🎜 🎜🎜Database🎜 🎜excel 파일🎜🎜🎜🎜🎜🎜database🎜🎜excel 파일🎜🎜🎜🎜데이터 테이블🎜🎜Excel 파일의 특정 시트🎜🎜🎜🎜테이블 구조: 필드🎜🎜헤더 시트: 열🎜🎜 🎜🎜

MySQL简介

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品 。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。

  • 体积小、速度快、总体拥有成本低,一般中小型网站的开发都选择 MySQL 作为网站数据库。
  • 搭配 PHPApache 可组成良好的开发环境。

3p技术:php,asp,jsp

操作数据库-用navicat


新建数据库

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

在弹出的窗口中填写数据库名即可。

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.点击确定之后,会在左侧的数据库列中看到上面创建成功的数据库。

新建数据表

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

点击 "新建表", 然后在开始设置字段

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

主键: 作用是区别一条数据和其它数据。(它相当于人的身份证号)

设置字段完成之后,点击上图左上角所示的保存按钮,就会进一步弹出对话框,让填写表的名字。

我们填入user

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

编辑字段

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

添加数据

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

一条内容输入完成后,按下tab,会自动进入下一条记录的输入

学习使用SQL语句


结构化查询语言(Structured Query Language)简称SQL,用来操作关系型数据库:

  • 是一种数据库查询和程序设计语言,用来存取数据以及查询、更新、和管理关系型数据库。
  • .sql是数据库脚本文件的扩展名。

最常用的用于数据操作的sql语句有四类,分别对应对数据的四种操作:

  • 增(create)(例如:用户注册)
  • 删(delete) (例如:删除订单)
  • 改(update) (例如:修改密码)
  • 查(select , read) (例如:信息搜索)

在navicat中运行sql - 添加数据


打开sql编辑区

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

然后:

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

学习 sql中的insert into 命令

格式:

 insert into 表名(字段名1,字段名2,....)  values (值1,值2,....)
로그인 후 복사

注意:

  • 字段的顺序要和值的顺序是完全匹配的

  • 字段列表可以不与真实数据表中的字段完全相等,

    • 可以省略一些不必要的字段
    • 顺序与不需要与定义表时的顺序一致
  • 如果是字符串类型的字段,其值要加"",如果是数值类型的字符串,其值不需要加“”

示例:

insert into stu (sex, weight, name) values (&#39;男&#39;, 60, &#39;庞凯&#39;)
로그인 후 복사

sql-delete语句-删除数据


格式

 delete  from 表名  where 删除条件复制代码
로그인 후 복사

注意:不指定条件将删除所有数据

示例

-- 删除id为14的同学
delete from stu where id=14

-- 删除的时候,不加条件,将删除stu表中的全部记录
delete from stu
로그인 후 복사

sql-update语句-修改数据


格式

update 表名 set 字段1=值1, 字段2=值2,...  where 修改条件
로그인 후 복사

注意:

- 要修改的值使用键值对来表示 
- 多个字段用,分隔
- 不指定条件,将修改当前表中全部的记录
로그인 후 복사

示例

-- 修改id为1的同学的年龄为53
update stu set age=53 where id = 1

-- 修改id为1的同学的年龄为35,身高为160
update stu set age=35,height=160 where id = 1

-- 如果修改的时候,不加条件,则会修改全部的数据
update stu set weight = 60
로그인 후 복사

sql-select-语句-数据查询


作用

把数据从数据库查出来

格式

SELECT  字段名1, 字段名2, .....  FROM 表名  WHERE <条件表达式>
로그인 후 복사

示例

# 查询部分字段SELECT id,name,age FROM stu
# 查询所有字段SELECT * FROM stu
# 带条件的查询SELECT * FROM 表名 WHERE 条件1 and 条件2
로그인 후 복사

where子句


select field1, field2... from 表名 查询表中的所有数据

where 可以使用条件来筛选查询出的结果

-- 查询所有的学生
select * from stu

-- 查询所有学生的id,name,height
select id,name,height from stu

-- 带条件的查询
select * from stu where 条件

-- 查询所有的男同学
select * from stu where sex=&#39;男&#39;

-- 查询id为2的男同学
select * from stu where id=2

-- 查询年龄大于50的同学
select * from stu where age > 50

-- 查询年龄大于50岁的男同学
select * from stu where age>50 and sex=&#39;男&#39;

-- 查询年龄在30~60之间的同学,包括30和60
select * from stu where age>=30 and age<=60
select * from stu where age between 30 and 60
로그인 후 복사

node.js操作mysql


通过mysql这个包来操作mysql数据库。

安装包

mysql模块是一个第三方模块,专门用来操作MySQL数据库。

# 安装
npm i mysql
로그인 후 복사

参考:www.npmjs.com/package/mys…

使用步骤

要想用这个包连接数据库,首先要确保在电脑有mysql(phpstudy 还要启动mysql服务)

一共需要4个步骤:

  • 加载 MySQL 模块

  • 创建 MySQL 连接对象

  • 连接 MySQL 服务器

  • 执行SQL语句

var mysql = require(&#39;mysql&#39;);

var connection = mysql.createConnection({
  host     : &#39;localhost&#39;,   // 你要连接的数据库服务器的地址
  port     : 3306,// 端口号
  user     : &#39;root&#39;,        // 连接数据库服务器需要的用户名
  password : &#39;root&#39;,        // 连接数据库服务器需要的密码
  database : &#39;gz61&#39;      //你要连接的数据库的名字
});

connection.connect((err) => {
  // 如果有错误对象,表示连接失败
  if (err) return console.log(&#39;数据库连接失败&#39;)
  // 没有错误对象提示连接成功
  console.log(&#39;mysql数据库连接成功&#39;)
});
로그인 후 복사

参考地址: www.npmjs.com/package/mys…

node操作mysql-查询操作


执行查询类型的SQL语句,查询结果(result)是一个数组,每个单元是对象,对象的属性是数据表的字段名。

// 1. 加载mysql
const mysql = require(&#39;mysql&#39;);
// 2. 创建连接对象
const conn = mysql.createConnection({
    // 对象的属性名字不能改变
    host: &#39;localhost&#39;,
    port: 3306,
    user: &#39;root&#39;,
    password: &#39;root&#39;,
    database: &#39;gz61&#39;
});
// 3. 连接到MySQL服务器
connection.connect((err) => {
  // 如果有错误对象,表示连接失败
  if (err) return console.log(&#39;数据库连接失败&#39;)
  // 没有错误对象提示连接成功
  console.log(&#39;mysql数据库连接成功&#39;)
});
// 4. 执行SQL语句
let sql = &#39;select id,name,age from stu&#39;;
connection.query(sql, (err, result, fields) => {
    if (err) throw err; // throw err 相当于 return console.log(err);
    console.log(result); // result就是查询结果
});
로그인 후 복사

node操作mysql-添加操作


执行添加类型的SQL语句,查询结果(result)是一个对象,该对象中有两个属性要关注:

  • affectedRows: 受影响行数
  • insertID: 查询数据的主键值
// 1. 加载mysql
const mysql = require(&#39;mysql&#39;);
// 2. 创建连接对象
const conn = mysql.createConnection({
    // 对象的属性名字不能改变
    host: &#39;localhost&#39;,
    port: 3306,
    user: &#39;root&#39;,
    password: &#39;root&#39;,
    database: &#39;gz61&#39;
});
// 3. 连接到MySQL服务器
connection.connect((err) => {
  // 如果有错误对象,表示连接失败
  if (err) return console.log(&#39;数据库连接失败&#39;)
  // 没有错误对象提示连接成功
  console.log(&#39;mysql数据库连接成功&#39;)
});

let sql = &#39;insert into users (name,password) values("小王","snv")&#39;
connection.query(sql, (err, result) => {
    if (result.affectedRows > 0) {
        console.log(&#39;添加成功,新数据的id为:&#39; + result.insertId);
    } else {
        console.log(&#39;添加失败&#39;);
    }
});
로그인 후 복사

node操作mysql-修改操作


执行修改类型的SQL语句,查询结果(result)是一个对象,该对象中有 affectedRows 属性,表示本次修改操作影响到的行数。

// 1. 加载mysql
const mysql = require(&#39;mysql&#39;);
// 2. 创建连接对象
const conn = mysql.createConnection({
    // 对象的属性名字不能改变
    host: &#39;localhost&#39;,
    port: 3306,
    user: &#39;root&#39;,
    password: &#39;root&#39;,
    database: &#39;gz61&#39;
});
// 3. 连接到MySQL服务器
connection.connect((err) => {
  // 如果有错误对象,表示连接失败
  if (err) return console.log(&#39;数据库连接失败&#39;)
  // 没有错误对象提示连接成功
  console.log(&#39;mysql数据库连接成功&#39;)
});
// 更新
// update stu set 字段=值,字段=值 where id=11
let sql = &#39;update users set password="123" where name="小王"&#39;;

conn.query(sql, (err, result) => {
    if (err) throw err;
    if (result.affectedRows > 0) {
        console.log(&#39;修改成功&#39;);
    } else {
        console.log(&#39;修改失败&#39;);
    }
})
로그인 후 복사

node操作mysql-删除操作


执行删除类型的SQL语句,查询结果(result)是一个对象,该对象中有 affectedRows 属性

// 1. 加载mysql
const mysql = require(&#39;mysql&#39;);
// 2. 创建连接对象
const conn = mysql.createConnection({
    // 对象的属性名字不能改变
    host: &#39;localhost&#39;,
    port: 3306,
    user: &#39;root&#39;,
    password: &#39;root&#39;,
    database: &#39;gz61&#39;
});
// 3. 连接到MySQL服务器
connection.connect((err) => {
  // 如果有错误对象,表示连接失败
  if (err) return console.log(&#39;数据库连接失败&#39;)
  // 没有错误对象提示连接成功
  console.log(&#39;mysql数据库连接成功&#39;)
});
// 删除
let sql = &#39;delete from stu where id=1&#39;;

connection.query(sql,(err, result) => {
    if (err) throw err;
    if (result.affectedRows > 0) {
        console.log(&#39;删除成功&#39;);
    } else {
        console.log(&#39;删除失败&#39;);
    }
});
로그인 후 복사

了解一下软删除


做删除 : delete from 表名 条件 会把数据直接从数据库中删除掉!

思路:

  • 不是真的删除,而是设置一个特殊的字段表示当前的状态:正常还是已经删除

노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.

# 目标:把id=16的软删除掉
update stu set isDelete=1 where id=16
로그인 후 복사

模块化封装


分析上面几个单独的功能点,它们基本的语法格式是一致的,只是要执行的sql语句不同而已,所以,我们可以对它们进行一个简单的封装。然后再写测试文件对其进行测试。

涉及两个文件:

  • sql.js
  • sqltest.js

封装模块

模块名:sql.js

// 由于四项(insert,delete,update,select)操作只是sql语句不同

// 1. 加载mysql
const mysql = require(&#39;mysql&#39;);
// 2. 创建连接对象
const conn = mysql.createConnection({
    // 对象的属性名字不能改变
    host: &#39;localhost&#39;,
    port: 3306,
    user: &#39;root&#39;,
    password: &#39;root&#39;,
    database: &#39;gz61&#39;
});
// 3. 连接到MySQL服务器
connection.connect((err) => {
  // 如果有错误对象,表示连接失败
  if (err) return console.log(&#39;数据库连接失败&#39;)
  // 没有错误对象提示连接成功
  console.log(&#39;mysql数据库连接成功&#39;)
});

module.exports = connection
로그인 후 복사

测试

sqltest.js

const conn = require(&#39;./sql&#39;);

conn.query(&#39;select * from users where username="小美1" and userpassword="666"&#39;, (err, data) => {
  console.log(err);
  console.log(data);
  if (data.length > 0) {
    console.log(&#39;用户名密码Ok&#39;);
  } else {
    console.log(&#39;用户名密码error&#39;);
  }
});
로그인 후 복사

更多node相关知识,请访问:nodejs 教程

위 내용은 노드가 MySQL 데이터베이스를 운영하는 방법(추가, 삭제, 수정, 확인)에 대해 이야기해보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:juejin.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿