Express实现数据查询接口:含SQL建表与JSON结果跨域查询全攻略
数据库表的SQL文件如下所示: ```sql CREATE TABLE `data` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; ``` Express的源代码如下所示: ```javascript const express = require('express'); const mysql = require('mysql'); const app = express(); // MySQL连接配置 const connection = mysql.createConnection({ host: 'localhost', user: 'root', // 替换为自己的MySQL用户名 password: '123456', // 替换为自己的MySQL密码 database: 'test' // 替换为自己的数据库名 }); // 连接到MySQL数据库 connection.connect((err) => { if (err) throw err; console.log('Connected to MySQL database'); }); // 解决跨域问题 app.use((req, res, next) => { res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE'); res.setHeader('Access-Control-Allow-Headers', 'Content-Type'); next(); }); // 查询接口 app.get('/data', (req, res) => { const id = req.query.id; const name = req.query.name; let query = ''; if (id) { query = `SELECT * FROM data WHERE id=${id}`; } else if (name) { query = `SELECT * FROM data WHERE name LIKE '%${name}%'`; } else { query = 'SELECT * FROM data'; } connection.query(query, (err, results) => { if (err) throw err; res.json(results); }); }); // 启动服务器 app.listen(3000, () => { console.log('Server is running on port 3000'); }); ``` 注意事项: 1. 需要先安装`express`和`mysql`模块:`npm install express mysql` 2. 在代码中的连接配置部分,需要根据自己的MySQL服务器信息进行调整。 3. 数据表的名称为`data`,可以根据需要进行修改,但需要在代码中对应修改查询语句。 4. 运行该代码后,可以通过`http://localhost:3000/data`进行数据查询。 5. 可以通过URL的查询参数进行条件查询,如`http://localhost:3000/data?id=1`可以精确查询ID为1的数据,`http://localhost:3000/data?name=ABC`可以模糊查询名称包含"ABC"的数据。 ######[AI写代码神器 | 1299点数解答 | 2024-12-08 14:43:26]
- 易语言子程序 TriggerCode 代码详解:通配符查找与结果运算(字节豆包 | 607点数解答 | 2026-02-09 11:59:34)55
- Java SQL语法错误:“select count(*)”语句出错,教你排查MariaDB SQL语法问题!( | 350点数解答 | 2024-04-25 08:26:19)401
- Java 实战:创建 Vehicle 接口并在 Bike 类实现,T4 类调用启动与停止方法(字节豆包 | 130点数解答 | 2024-09-19 17:40:54)434
- Python 实现移位与仿射密码:精准加密解密及关键逻辑解析(字节豆包 | 798点数解答 | 2024-12-18 15:55:47)280
- Java代码实现从JSON数据中提取ID,涉及“数据”与“项目 - 知识库”结构(字节豆包 | 603点数解答 | 2025-04-15 22:48:51)255
- C++ 实现:计算一排鹅与最高、最矮鹅的身高差及代码详解(字节豆包 | 549点数解答 | 2025-11-16 20:19:06)105
- 编程揭秘:计算 𝑛! 在 𝑃 进制下末尾零个数的方法与代码实现(DeepSeek | 549点数解答 | 2026-01-11 17:49:54)63
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)380
- 车载系统 UML 类图设计:涵盖 Car、Engine、娱乐系统等的完整类定义与关系解析 (字节豆包 | 760点数解答 | 2024-08-15 22:51:04)331
- 超详解!Node.js 路由实现订单查询,附错误处理、日志记录与性能优化要点 (阿里通义 | 317点数解答 | 2024-11-25 18:21:15)284
- 安踏商品数据获取代码问题修正与三点优化建议揭秘(阿里通义 | 532点数解答 | 2024-12-25 14:12:03)339
- 深入解析:Jade 中混入定义、代码块及属性传递实例 (讯飞星火 | 243点数解答 | 2024-05-31 13:28:40)317