MySQL数据库 – node使用

这篇具有很好参考价值的文章主要介绍了MySQL数据库 – node使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 MySQL查询对象

2 MySQL查询数组

3 mysql2库介绍使用

4 mysql2预处理语句

5 mysql2连接池使用

6 mysql2的Promi

这里仅说明如何使用服务器连接数据库并进行操作。

预处理语句就是可以输入变量的语句(表现形式是有符号:?)。需要使用.execute来执行;

MySQL数据库 – node使用

 

需要运行普通的语句(不添加变量的语句)。就使用query。

预处理语句有很多好处,比如性能好、安全性(sql注入)。

 如果连接的用户很多,每次都创建数据库的连接和销毁连接会有影响,所以创建数据库连接的时候我们可以使用连接池来做优化

没使用连接池的连接方法:

MySQL数据库 – node使用

 使用了连接池的方法:

MySQL数据库 – node使用

 

 

需要下载相应的第三方库才能让node驱动数据库:

npm install mysql2

准备数据-将json文件的数据插入到数据库中

从phpne.json文件里面获取json格式的数据并写到数据库里面。

const mysql = require('mysql2');
 
const connection = mysql.createConnection({
  host: 'localhost',
  port: 3306,
  user: 'root',
  password: 'Coderwhy123.',
  database: 'music_db'
});

const statement = `INSERT INTO products SET ?;`
const phoneJson = require('./phone.json');

for (let phone of phoneJson) {
  connection.query(statement, phone);
}

phone.jsond的内容:文章来源地址https://www.toymoban.com/news/detail-478144.html

[
  {
    "brand": "华为",
    "title": "华为nova 3(全网通) ",
    "price": 2699,
    "score": 6.7,
    "voteCnt": 65,
    "url": "http://detail.zol.com.cn/cell_phone/index1185512.shtml",
    "pid": "1185512"
  },
  {
    "brand": "华为",
    "title": "华为P20 Pro(6GB RAM/全网通) ",
    "price": 4488,
    "score": 8.3,
    "voteCnt": 103,
    "url": "http://detail.zol.com.cn/cell_phone/index1207038.shtml",
    "pid": "1207038"
  },
  {
    "brand": "华为",
    "title": "华为P20(全网通) ",
    "price": 3388,
    "score": 8.4,
    "voteCnt": 127,
    "url": "http://detail.zol.com.cn/cell_phone/index1175779.shtml",
    "pid": "1175779"
  },
  {
    "brand": "华为",
    "title": "华为nova 3i(4GB RAM/全网通) ",
    "price": 1999,
    "score": 7,
    "voteCnt": 9,
    "url": "http://detail.zol.com.cn/cell_phone/index1222100.shtml",
    "pid": "1222100"
  }
]

mysql2-基本使用

const mysql = require('mysql2')

// 1.创建一个连接(连接上数据库)
const connection = mysql.createConnection({
  host: 'localhost',
  port: 3306,
  database: 'music_db',
  user: 'root',
  password: 'Coderwhy123.'
})


// 2.执行操作语句, 操作数据库
const statement = 'SELECT * FROM `students`;'
// structure query language: DDL/DML/DQL/DCL
// query可以执行DDL/DML/DQL/DCL的语句的代码。返回的值在回调函数里面。
connection.query(statement, (err, values, fields) => {
  if (err) {
    console.log('查询失败:', err)
    return
  }

  // 查看结果
  console.log(values)
  // console.log(fields)
})

mysql2-预处理语句

const mysql = require('mysql2')

// 1.创建一个连接
const connection = mysql.createConnection({
  host: 'localhost',
  port: 3306,
  database: 'music_db',
  user: 'root',
  password: 'Coderwhy123.'
})

// 2.执行一个SQL语句: 预处理语句
const statement = 'SELECT * FROM `products` WHERE price > ? AND score > ?;'
connection.execute(statement, [1000, 8], (err, values) => {
  console.log(values)
})

// connection.destroy()

mysql2-连接池使用

const mysql = require('mysql2')

// 1.创建一个连接
const connectionPool = mysql.createPool({
  host: 'localhost',
  port: 3306,
  database: 'music_db',
  user: 'root',
  password: 'Coderwhy123.',
 // connectionLimit用来限制连接数量的
  connectionLimit: 5
})

// 2.执行一个SQL语句: 预处理语句
const statement = 'SELECT * FROM `products` WHERE price > ? AND score > ?;'
connectionPool.execute(statement, [1000, 8], (err, values) => {
  console.log(values)
})

mysql2-Promise写法

const mysql = require('mysql2')

// 1.创建一个连接
const connectionPool = mysql.createPool({
  host: 'localhost',
  port: 3306,
  database: 'music_db',
  user: 'root',
  password: 'Coderwhy123.',
  connectionLimit: 5
})

// 2.执行一个SQL语句: 预处理语句
const statement = 'SELECT * FROM `products` WHERE price > ? AND score > ?;'

connectionPool.promise().execute(statement, [1000, 9]).then((res) => {
  const [values, fields] = res
  console.log('-------------------values------------------')
  console.log(values)
  console.log('-------------------fields------------------')
  console.log(fields)
}).catch(err => {
  console.log(err)
})

到了这里,关于MySQL数据库 – node使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Node.js程序如何访问MySQL数据库呢?Sequelize操作MySQL数据库详解

    当我们安装好MySQL后,Node.js程序如何访问MySQL数据库呢? 访问MySQL数据库只有一种方法,就是通过网络发送SQL命令,然后,MySQL服务器执行后返回结果。 我们可以在命令行窗口输入mysql -u root -p,然后输入root口令后,就连接到了MySQL服务器。因为没有指定–host参数,所以我们连

    2023年04月08日
    浏览(14)
  • Node.js 连接 mysql 数据库

    目录 一、安装驱动 二、连接数据库 1、数据库连接的配置信息 数据库连接参数说明 2、封装 mysql 的执行语句 3、后端路由文件  三、数据库操作( CURD ) 1、查询数据 2、插入数据 3、更新数据 4、删除数据 4、获取受影响的行数 5、获取更改的行数 6、多语句查询 7、事务 四、E

    2024年02月07日
    浏览(10)
  • “Node.js:操作mysql数据库“

    Node.js中操作mysql数据库 ​ mysql模块 是托管于npm的第三方模块,它提供了Node.js项目中 连接 和 操作mysql数据库 的能力。 在项目中操作数据库的步骤 (1).安装mysql数据库的第三方模块(mysql) (2).通过mysql模块连接到mysql数据库 (3).通过mysql模块执行sql语句 1.操作mysql数据库 db.query() 用来

    2024年02月05日
    浏览(11)
  • MySQL数据库——MySQL WHERE:条件查询数据

    在 MySQL 中,如果需要有条件的从数据表中查询数据,可以使用 WHERE 来指定查询条件。 使用 WHERE 的语法格式如下: WHERE 查询条件 查询条件可以是: 带比较运算符和逻辑运算符的查询条件 带 BETWEEN AND 的查询条件 带 IS NULL 的查询条件 带 IN

    2024年02月03日
    浏览(20)
  • MySQL数据库,联合查询

    MySQL数据库,联合查询

    目录 1. 联合查询 1.1 内查询 1.2 外查询 1.3 自连接 1.4 子查询 1.5 合并查询 联合查询,简单的来讲就是多个表联合起来进行查询。这样的查询在我们实际的开发中会用到很多,因此会用 笛卡尔积 的概念。 啥是笛卡尔积?两张表经过笛卡尔积后得到的新表的列数是两表列数之和

    2023年04月23日
    浏览(22)
  • MySQL数据库,聚合查询

    MySQL数据库,聚合查询

    目录 1、聚合查询 1.1聚合函数 1.1.1count函数 1.1.2sum函数 1.1.3avg函数 1.1.4max函数 1.1.5min函数 1.2group by子句 1.3having 聚合函数查询又叫函数查询,它是通过一些特定的函数根据需求来查询相关的信息,常见的聚合函数为: COUNT - 求总数,不包含某字段为null值 SUM - 求和,不包含某字

    2023年04月21日
    浏览(13)
  • MySQL数据库实验三 MySQL查询

    一、实验项目: MySQL查询。 二、实验目的 掌握MySQL的查询操作。 三、实验内容 (一): 1、查询lineitem表中商品编号(productid)和单价(unitprice),要求消除重复行。 2、计算lineitem表中每条记录的商品金额。 3、显示orders表单笔高于200元的客户号(userid)、成交金额(total

    2024年02月11日
    浏览(12)
  • MySQL数据库:数据库的约束以及数据的聚合、联合查询

    MySQL数据库:数据库的约束以及数据的聚合、联合查询

    目录 一.关系模型的简要概述 二.数据库的约束  2.1约束类型         2.2NULL约束 2.3 UNIQUE:唯一约束 2.4 默认约束 2.5 PRIMARY KEY:主键约束 2.6 FOREIGN KEY:外键约束 2.7 CHECK约束 三.高效率查询 3.1高效率查询的分类 3.2聚合查询 3.2.1聚合函数 3.2.2 GROUP BY子句 3.2.3HAVING 3.3.联合查询

    2024年02月10日
    浏览(30)
  • 如何查看其他电脑的MYSQL数据库 mysql查询另一个ip数据库

    文章标签 如何查看其他电脑的MYSQL数据库mysql数据库服务器MySQL 文章分类 MySQL数据库 阅读数 143 1.如何通过IP访问MySQL数据库 1.1 改表法 1.2 授权法 2.MySQL数据库基本命令 2.1 基本命令 2.2 注释 2.3 2.4 实践操作 3 小结 1.1 改表法 如果不从远程登陆,可以用 localhost 。这个时候

    2024年01月21日
    浏览(12)
  • 数据库系统原理及MySQL应用教程实验四MySQL数据库表数据的查询操作

    数据库系统原理及MySQL应用教程实验四MySQL数据库表数据的查询操作

    1.掌握SELECT 语句的基本语法格式。 2.掌握SELECT 语句的执行方法。 3.掌握SELECT 语句的 GROUP BY 和 ORDER BY 子句的作用。 验证性实验:在公司的部门员工管理数据库的bumen表和yuangong表上进行信息查询。 设计性试验:将在student表和score表上进行查询。 ( 一 ) 验证性实验 在

    2024年02月05日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包