教程 mariadb tutorial

MariaDB + Node.js 项目

1. 环境准备

  • 安装 Node.js(推荐最新版 LTS)
  • 安装 MariaDB 数据库并确保运行
  • 使用 npm 初始化项目:
bash
npm init -y

`

  • 安装 MariaDB Node.js 驱动:
bash
npm install mariadb

2. 数据库连接

创建数据库连接池,示例代码:

js
const mariadb = require('mariadb');

const pool = mariadb.createPool({
  host: 'localhost',
  user: 'root',
  password: 'your_password',
  database: 'testdb',
  connectionLimit: 5
});

async function testConnection() {
  let conn;
  try {
    conn = await pool.getConnection();
    console.log("数据库连接成功");
  } catch (err) {
    console.error("连接错误:", err);
  } finally {
    if (conn) conn.release();
  }
}

testConnection();

3. 基本 CRUD 操作示例

  • 插入数据
js
async function insertUser(username, email) {
  let conn;
  try {
    conn = await pool.getConnection();
    const res = await conn.query("INSERT INTO users(username, email) VALUES (?, ?)", [username, email]);
    console.log("插入成功,ID:", res.insertId);
  } catch (err) {
    console.error(err);
  } finally {
    if (conn) conn.release();
  }
}
  • 查询数据
js
async function getUsers() {
  let conn;
  try {
    conn = await pool.getConnection();
    const rows = await conn.query("SELECT * FROM users");
    console.log(rows);
  } catch (err) {
    console.error(err);
  } finally {
    if (conn) conn.release();
  }
}
  • 更新数据
js
async function updateUserEmail(id, newEmail) {
  let conn;
  try {
    conn = await pool.getConnection();
    await conn.query("UPDATE users SET email = ? WHERE id = ?", [newEmail, id]);
    console.log("更新成功");
  } catch (err) {
    console.error(err);
  } finally {
    if (conn) conn.release();
  }
}
  • 删除数据
js
async function deleteUser(id) {
  let conn;
  try {
    conn = await pool.getConnection();
    await conn.query("DELETE FROM users WHERE id = ?", [id]);
    console.log("删除成功");
  } catch (err) {
    console.error(err);
  } finally {
    if (conn) conn.release();
  }
}

4. 项目结构示例

代码
node-mariadb-project/
├── index.js          # 主入口文件
├── db.js             # 数据库连接池配置
├── controllers/      # 业务逻辑
├── routes/           # 路由定义(如使用 Express)
└── package.json

5. 结合 Express 框架示例(简单路由)

js
const express = require('express');
const app = express();
app.use(express.json());

app.get('/users', async (req, res) => {
  // 查询用户代码,调用 getUsers()
});

app.post('/users', async (req, res) => {
  // 新增用户代码,调用 insertUser()
});

app.listen(3000, () => {
  console.log('服务启动,监听端口3000');
});

MariaDB 与 Node.js 的结合能帮助你快速构建现代化后端应用,适合开发高性能、可扩展的 Web 服务。