Nodejs 有没有操作MySql的Demo啊

Nodejs 有没有操作MySql的Demo啊

各位大神有没有操作MySql的Demo啊,简单点的就行,不要特别复杂的,就直接是增删改查的操作就行,我都是看的MongoDB的,操作MySQL就不行了!谢谢各位指点下,

7 回复

当然可以!下面是一个简单的 Node.js 操作 MySQL 的 Demo 示例。这个示例将展示如何进行基本的 CRUD(创建、读取、更新、删除)操作。

首先,你需要安装 mysql 模块。可以通过 npm 安装:

npm install mysql

接下来是示例代码:

const mysql = require('mysql');

// 创建一个数据库连接池
const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: 'your_password',
  database: 'test_db'
});

// 增加数据
function insertData(data, callback) {
  pool.query('INSERT INTO users SET ?', data, (error, results) => {
    if (error) throw error;
    console.log('Data inserted successfully');
    callback(results.insertId);
  });
}

// 查询数据
function selectData(callback) {
  pool.query('SELECT * FROM users', (error, results) => {
    if (error) throw error;
    console.log('Data selected successfully');
    callback(results);
  });
}

// 更新数据
function updateData(id, newData, callback) {
  pool.query('UPDATE users SET ? WHERE id = ?', [newData, id], (error, results) => {
    if (error) throw error;
    console.log('Data updated successfully');
    callback(results.affectedRows);
  });
}

// 删除数据
function deleteData(id, callback) {
  pool.query('DELETE FROM users WHERE id = ?', [id], (error, results) => {
    if (error) throw error;
    console.log('Data deleted successfully');
    callback(results.affectedRows);
  });
}

// 示例数据
const userData = { name: 'John Doe', email: 'john@example.com' };

// 调用函数
insertData(userData, (id) => {
  console.log('Inserted ID:', id);

  // 查询数据
  selectData((data) => {
    console.log('Selected Data:', data);

    // 更新数据
    const updatedData = { name: 'Jane Doe' };
    updateData(id, updatedData, (affectedRows) => {
      console.log('Affected Rows:', affectedRows);

      // 删除数据
      deleteData(id, (affectedRows) => {
        console.log('Affected Rows:', affectedRows);
      });
    });
  });
});

解释

  1. 创建连接池:使用 mysql.createPool 创建一个连接池来管理与数据库的连接。
  2. 插入数据:通过 pool.query 执行 SQL 插入语句,并传入要插入的数据。
  3. 查询数据:执行 SELECT 语句来获取所有用户数据。
  4. 更新数据:通过 UPDATE 语句更新特定用户的记录。
  5. 删除数据:通过 DELETE 语句删除特定用户的记录。

这个示例展示了如何使用 Node.js 进行基本的 MySQL 操作。你可以根据实际需求调整数据库配置和表结构。希望这对你有帮助!


var mysql = require(‘mysql’); var connection = mysql.createConnection({ host : ‘localhost’, user : ‘me’, password : ‘secret’, });

connection.connect();

connection.query(‘SELECT 1 + 1 AS solution’, function(err, rows, fields) { if (err) throw err;

console.log('The solution is: ', rows[0].solution); });

connection.end();

https://github.com/felixge/node-mysql

我只想对您说三个字: 非常感谢您,我已经成功了!

你这个会失败吧,end不应该在回调里面?

11个字,不算标点符号

这个不错

当然可以。Node.js 操作 MySQL 的库有很多,其中较为常用的是 mysqlsequelize。这里我会使用 mysql 库来演示基本的增删改查操作。

首先,你需要安装 mysql

npm install mysql

示例代码

下面是一些简单的 CRUD 操作示例:

1. 连接到 MySQL 数据库

const mysql = require('mysql');

// 创建数据库连接
const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'yourpassword',
    database: 'testdb'
});

// 连接数据库
connection.connect((err) => {
    if (err) throw err;
    console.log('Connected!');
});

2. 插入数据(Create)

const sql = 'INSERT INTO users (name, email) VALUES (?, ?)';
const values = ['Alice', 'alice@example.com'];

connection.query(sql, values, (err, result) => {
    if (err) throw err;
    console.log(`Row inserted with ID: ${result.insertId}`);
});

3. 查询数据(Read)

const sql = 'SELECT * FROM users WHERE id = ?';
const id = 1;

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

4. 更新数据(Update)

const sql = 'UPDATE users SET name = ?, email = ? WHERE id = ?';
const values = ['Bob', 'bob@example.com', 1];

connection.query(sql, values, (err, result) => {
    if (err) throw err;
    console.log(`${result.changedRows} row(s) updated`);
});

5. 删除数据(Delete)

const sql = 'DELETE FROM users WHERE id = ?';
const id = 1;

connection.query(sql, [id], (err, result) => {
    if (err) throw err;
    console.log(`${result.affectedRows} row(s) deleted`);
});

注意事项

  • 确保你的 MySQL 服务器正在运行,并且数据库和表已经创建。
  • 替换上述代码中的数据库连接信息和表名、字段名等为你自己的环境设置。
  • 使用完数据库后记得关闭连接:
    connection.end();
    

希望这些代码对你有帮助!

回到顶部