Node.js连接MySQL

一、Node.js连接MySQL数据库

在Node.js中,有很多第三方MySQL模块可以使用。常见的有mysql、mysql2、node-mysql和node-mysql2等。这些模块提供的API都比较相似,可以根据自己的需求选择一个使用。

以下是使用mysql模块连接MySQL数据库的示例代码:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'yourpassword',
  database: 'yourdatabase'
});

connection.connect((err) => {
  if (err) throw err;
  console.log('Connected!');
});

connection.end();

在上述代码中,首先通过require语句导入mysql模块。然后使用mysql.createConnection()方法创建与MySQL数据库的连接,并指定连接所需的参数。在连接成功后,可以在回调函数中输出Connected!以测试连接是否成功。最后,通过connection.end()方法关闭与MySQL数据库的连接。

二、Node.js连接MySQL8.0

MySQL8.0在安全性方面有了很大的提升,如果使用默认的加密方式连接MySQL8.0,可能会遇到兼容性问题。为了解决这个问题,可以通过在连接参数中配置ssl选项,将加密方式指定为required。

以下是修改连接参数以支持MySQL8.0的示例代码:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'yourpassword',
  database: 'yourdatabase',
  ssl: {
    rejectUnauthorized: false,
    ca: fs.readFileSync('/path/to/ca.pem')
  }
});

connection.connect((err) => {
  if (err) throw err;
  console.log('Connected!');
});

connection.end();

在上述代码中,添加了一个ssl选项,其中rejectUnauthorized: false表示不验证SSL证书,ca: fs.readFileSync(‘/path/to/ca.pem’)表示使用指定的SSL证书。

三、Node.js连接MySQL使用什么接口

在Node.js中,可以选择使用原生的MySQL模块,也可以选择使用第三方的MySQL模块。原生的MySQL模块使用起来比较复杂,需要手动编写SQL语句,并处理返回的数据。而第三方的MySQL模块通常提供了更简单易用的API。

以下是使用原生的MySQL模块查询数据库的示例代码:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'yourpassword',
  database: 'yourdatabase'
});

const sql = 'SELECT * FROM yourtable';

connection.query(sql, (err, results, fields) => {
  if (err) throw err;
  console.log(results);
});

connection.end();

在上述代码中,使用connection.query()方法执行SQL语句,并在回调函数中处理返回的数据。

以下是使用第三方的mysql2模块查询数据库的示例代码:

const mysql = require('mysql2/promise');

const connection = await mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'yourpassword',
  database: 'yourdatabase'
});

const sql = 'SELECT * FROM yourtable';

const [rows, fields] = await connection.execute(sql);
console.log(rows);

await connection.end();

在上述代码中,使用async/await语法执行SQL语句,并通过connection.execute()方法处理返回的数据。同时,使用await connection.end()方法关闭与MySQL数据库的连接。

四、Node.js连接MySQL的步骤

连接MySQL数据库的步骤如下:

  1. 安装MySQL模块
  2. 使用require语句导入MySQL模块
  3. 使用mysql.createConnection()方法创建与MySQL数据库的连接,并指定连接所需的参数
  4. 在回调函数中处理连接成功或连接失败的情况
  5. 使用connection.query()方法执行SQL语句,并在回调函数中处理返回的数据
  6. 使用connection.end()方法关闭与MySQL数据库的连接

五、Node.js连接MySQL数据库失败

如果连接MySQL数据库失败,可能会出现以下错误:

  • ER_ACCESS_DENIED_ERROR:访问被拒绝,用户名或密码不正确
  • ER_BAD_DB_ERROR:数据库不存在或无法访问
  • ETIMEDOUT:连接超时
  • ECONNREFUSED:连接被拒绝
  • ER_HOST_IS_BLOCKED:主机被屏蔽

如果遇到连接失败的情况,可以通过在回调函数中处理错误来查找问题所在。

六、Node.js连接MySQL数据库增删改查

在Node.js中,可以使用SQL语句对MySQL数据库进行增删改查操作。以下是一些常见的SQL语句:

  • SELECT:查询数据
  • INSERT INTO:插入数据
  • UPDATE:更新数据
  • DELETE:删除数据

在使用SQL语句时,需要注意安全性和一致性。可以通过参数化查询等方式来防止SQL注入攻击。

七、Node.js连接MySQL数据库query

Node.js中的mysql模块提供了一个query方法,可以直接执行SQL语句并返回结果。以下是一个使用query方法查询MySQL数据库的示例代码:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'yourpassword',
  database: 'yourdatabase'
});

const sql = 'SELECT * FROM yourtable';

connection.query(sql, (err, results, fields) => {
  if (err) throw err;
  console.log(results);
});

connection.end();

在上述代码中,使用connection.query()方法执行SQL语句,并在回调函数中处理返回的结果。

八、Node.js连接MongoDB

与MySQL不同,MongoDB是一个基于文档的NoSQL数据库。在Node.js中,可以使用mongoose模块来连接MongoDB数据库。以下是一个使用mongoose连接MongoDB的示例代码:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/yourdatabase', {
  useNewUrlParser: true,
  useUnifiedTopology: true
}).then(() => {
  console.log('Connected!');
}).catch((err) => {
  console.error(err);
});

在上述代码中,使用mongoose.connect()方法连接MongoDB数据库,并指定连接所需的参数。然后可以在then方法中输出Connected!以测试连接是否成功。

九、Node.js连接SQLite

在Node.js中,可以使用sqlite3模块来连接SQLite数据库。以下是一个使用sqlite3连接SQLite数据库的示例代码:

const sqlite3 = require('sqlite3').verbose();

const db = new sqlite3.Database('yourdatabase.sqlite');

db.serialize(() => {
  db.run('CREATE TABLE yourtable (id INT, name TEXT)');
  db.run('INSERT INTO yourtable VALUES (?, ?)', [1, 'Alice']);
  db.get('SELECT * FROM yourtable WHERE id = ?', [1], (err, row) => {
    console.log(row);
  });
});

db.close();

在上述代码中,首先使用sqlite3.Database()方法连接SQLite数据库,然后使用db.run()方法执行SQL语句创建表格和插入数据。最后使用db.get()方法查询数据。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/195512.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-02 20:35
下一篇 2024-12-02 20:35

相关推荐

  • 如何修改mysql的端口号

    本文将介绍如何修改mysql的端口号,方便开发者根据实际需求配置对应端口号。 一、为什么需要修改mysql端口号 默认情况下,mysql使用的端口号是3306。在某些情况下,我们需…

    编程 2025-04-29
  • JS Proxy(array)用法介绍

    JS Proxy(array)可以说是ES6中非常重要的一个特性,它可以代理一个数组,监听数据变化并进行拦截、处理。在实际开发中,使用Proxy(array)可以方便地实现数据的监…

    编程 2025-04-29
  • Python操作MySQL

    本文将从以下几个方面对Python操作MySQL进行详细阐述: 一、连接MySQL数据库 在使用Python操作MySQL之前,我们需要先连接MySQL数据库。在Python中,我…

    编程 2025-04-29
  • 解析js base64并转成unit

    本文将从多个方面详细介绍js中如何解析base64编码并转成unit格式。 一、base64编码解析 在JavaScript中解析base64编码可以使用atob()函数,它会将b…

    编程 2025-04-29
  • MySQL递归函数的用法

    本文将从多个方面对MySQL递归函数的用法做详细的阐述,包括函数的定义、使用方法、示例及注意事项。 一、递归函数的定义 递归函数是指在函数内部调用自身的函数。MySQL提供了CRE…

    编程 2025-04-29
  • Node.js使用Body-Parser处理HTTP POST请求时,特殊字符无法返回的解决方法

    本文将解决Node.js使用Body-Parser处理HTTP POST请求时,特殊字符无法返回的问题。同时,给出一些相关示例代码,以帮助读者更好的理解并处理这个问题。 一、问题解…

    编程 2025-04-29
  • MySQL bigint与long的区别

    本文将从数据类型定义、存储空间、数据范围、计算效率、应用场景五个方面详细阐述MySQL bigint与long的区别。 一、数据类型定义 bigint在MySQL中是一种有符号的整…

    编程 2025-04-28
  • t3.js:一个全能的JavaScript动态文本替换工具

    t3.js是一个非常流行的JavaScript动态文本替换工具,它是一个轻量级库,能够很容易地实现文本内容的递增、递减、替换、切换以及其他各种操作。在本文中,我们将从多个方面探讨t…

    编程 2025-04-28
  • MySQL左连接索引不生效问题解决

    在MySQL数据库中,经常会使用左连接查询操作,但是左连接查询中索引不生效的情况也比较常见。本文将从多个方面探讨MySQL左连接索引不生效问题,并给出相应的解决方法。 一、索引的作…

    编程 2025-04-28
  • JS图片沿着SVG路径移动实现方法

    本文将为大家详细介绍如何使用JS实现图片沿着SVG路径移动的效果,包括路径制作、路径效果、以及实现代码等内容。 一、路径制作 路径的制作,我们需要使用到SVG,SVG是可缩放矢量图…

    编程 2025-04-27

发表回复

登录后才能评论