HTML、JavaScript连接MySQL数据库以及对数据库的表进行修改

要使用HTML和JavaScript连接到MySQL数据库并进行表的修改,通常需要使用一个后端服务器来处理数据库的连接和操作,因为HTML和JavaScript在浏览器中运行,不适合直接连接数据库。常用的后端服务器语言包括Node.js、PHP、Python等。这里我们将使用Node.js作为后端服务器来实现这一功能。

步骤

1.安装Node.js和相关包

  • 确保你已经安装了Node.js。

  • 使用npm安装必要的包:mysqlexpress

    复制代码
    npm install express mysql

    2.设置Node.js服务器

  • 创建一个server.js文件,用于设置Express服务器并连接到MySQL数据库。

    javascript 复制代码
    const express = require('express');
    const mysql = require('mysql');
    const bodyParser = require('body-parser');
    const app = express();
    
    app.use(bodyParser.json());
    
    // 配置MySQL连接
    const db = mysql.createConnection({
        host: 'localhost',
        user: 'your_username',
        password: 'your_password',
        database: 'your_database'
    });
    
    // 连接到MySQL
    db.connect((err) => {
        if (err) {
            throw err;
        }
        console.log('MySQL connected...');
    });
    
    // 创建一个简单的API来处理数据库操作
    app.post('/modify-table', (req, res) => {
        let sql = req.body.query;
        db.query(sql, (err, result) => {
            if (err) {
                res.status(500).send(err);
            }
            res.send(result);
        });
    });
    
    // 启动服务器
    const PORT = process.env.PORT || 3000;
    app.listen(PORT, () => {
        console.log(`Server started on port ${PORT}`);
    });

    3.设置HTML和JavaScript前端

  • 创建一个简单的HTML文件,并使用JavaScript来发送请求到Node.js服务器。

    html 复制代码
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Modify MySQL Table</title>
    </head>
    <body>
        <h1>Modify MySQL Table</h1>
        <form id="query-form">
            <textarea id="query" placeholder="Enter SQL query" rows="4" cols="50"></textarea><br>
            <button type="submit">Submit</button>
        </form>
        <div id="result"></div>
    
        <script>
            document.getElementById('query-form').addEventListener('submit', function (e) {
                e.preventDefault();
                const query = document.getElementById('query').value;
                fetch('/modify-table', {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/json'
                    },
                    body: JSON.stringify({ query })
                })
                .then(response => response.json())
                .then(data => {
                    document.getElementById('result').textContent = JSON.stringify(data, null, 2);
                })
                .catch(error => {
                    document.getElementById('result').textContent = 'Error: ' + error;
                });
            });
        </script>
    </body>
    </html>

    运行步骤

  • 确保MySQL服务器正在运行,并且你有一个可用的数据库。

  • your_usernameyour_passwordyour_database替换为实际的MySQL凭据。

  • 启动Node.js服务器:

html 复制代码
node server.js
  • 打开浏览器并访问http://localhost:3000

  • 在文本框中输入SQL查询并提交,例如CREATE TABLE test (id INT, name VARCHAR(50))

这样,你就可以使用HTML和JavaScript通过Node.js服务器连接到MySQL数据库并进行表的修改。请注意,直接在前端输入和执行SQL查询存在安全风险,建议在实际应用中进行适当的安全验证和权限控制。 但是这样的步骤会遇到一个问题:已拦截跨源请求:同源策略禁止读取位于 file:///modify-table 的远程资源。(原因:CORS 请求不是 http)下一篇我将把解决方法发出来遇到相同问题的可以参考参考

我的个人博客

相关推荐
爱吃大芒果6 分钟前
从零开始学 Flutter:状态管理入门之 setState 与 Provider
开发语言·javascript·flutter
掘金泥石流9 分钟前
分享下我创业烧了 几十万的 AI Coding 经验
前端·javascript·后端
用户479492835691511 分钟前
JavaScript 为什么选择原型链?从第一性原理聊聊这个设计
前端·javascript
new code Boy16 分钟前
vscode左侧栏图标及目录恢复
前端·javascript
BrianGriffin23 分钟前
JS異步:setTimeout包裝為sleep
开发语言·javascript·ecmascript
liulilittle38 分钟前
Linux shell 搜索指定后缀名文件,并复制到指定目录。
linux·服务器·数据库
Junsen39 分钟前
使用 Supabase 实现轻量埋点监控
前端·javascript
必胜刻39 分钟前
Redis哨兵模式(Linux)
linux·数据库·redis
Java&Develop41 分钟前
html写一个象棋游戏
javascript·游戏·html
willxiao1 小时前
js 单例模式 6 种实现方式
javascript·设计模式