📜  express api ith mysql 数据 - SQL (1)

📅  最后修改于: 2023-12-03 15:14:57.188000             🧑  作者: Mango

Express API with MySQL 数据库 - SQL

简介

在开发中,Express 是一个非常流行的 Node.js 应用程序框架,MySQL 数据库是一种常用的开源关系型数据库系统。结合 Express 和 MySQL 可以创建全面的应用程序和 API。本文将介绍如何使用 Express API 连接 MySQL 数据库,并编写基本的 SQL 操作。

准备工作

在开始编写代码之前,需要确保已经安装所需的库和组件。主要的库包括:

  • Express:用于创建 API 和 Web 应用程序的 Node.js 框架。
  • mysqljs/mysql:Node.js 驱动程序,用于与 MySQL 数据库进行通信。

可以使用 npm 进行安装:

npm install express mysql
创建 Express 应用程序

在创建 Express 应用程序之前,需要初始化一个新的 npm 项目。在命令行窗口中运行以下命令:

npm init

按照提示输入必要的信息以初始化项目。完成后,创建一个名为 server.js 的文件。

首先,导入所需的库:

const express = require('express')
const mysql = require('mysql')

然后,创建一个 Express 应用程序:

const app = express()
连接到 MySQL 数据库

接下来,需要连接到 MySQL 数据库。一般来说,需要一个连接到 MySQL 数据库的 URL、用户名、密码和数据库名称。

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

con.connect((err) => {
    if (err) {
        console.error('connection error: ' + err.stack);
        return;
    }
    console.log('connected to MySQL database!');
});

以上代码将创建一个 MySQL 连接,并显示连接成功的消息。

SQL 操作

现在可以编写基本的 SQL 操作。以下是一些示例 SQL 命令:

插入数据
app.get('/users', (req, res) => {
    const user = { name: 'James', email: 'james@email.com' }
    con.query('INSERT INTO users SET ?', user, (err, result) => {
        if (err) throw err;
        console.log(result);
        res.send('User added to database');
    });
});

以上代码将向 users 表添加一条新记录。

查询数据
app.get('/users', (req, res) => {
    const sql = 'SELECT * FROM users';
    con.query(sql, (err, result) => {
        if (err) throw err;
        console.log(result);
        res.send(result);
    });
});

以上代码将返回 users 表中所有记录的结果集。

更新数据
app.get('/users/update', (req, res) => {
    const sql = 'UPDATE users SET name = ? WHERE id = ?';
    con.query(sql, ['John', 1], (err, result) => {
        if (err) throw err;
        console.log(result);
        res.send('User updated successfully');
    });
});

以上代码将更新 users 表中 id 为 1 的记录的姓名。

删除数据
app.get('/users/delete', (req, res) => {
    const sql = 'DELETE FROM users WHERE id = ?';
    con.query(sql, [1], (err, result) => {
        if (err) throw err;
        console.log(result);
        res.send('User deleted successfully');
    });
});

以上代码将删除 users 表中 id 为 1 的记录。

结论

以上是使用 Express API 与 MySQL 数据库进行 SQL 操作的基础知识。可以使用这些基础知识来编写更复杂的查询和更新命令。MySQL 数据库非常灵活,可以将多个表连接起来以编写更复杂的查询。在编写任何 SQL 命令之前,请确保熟悉 MySQL 数据库的基础知识和语法。