亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

從零教會你如何進(jìn)行前后端的數(shù)據(jù)庫(MySQL)連接操作

 更新時間:2025年02月06日 08:58:25   作者:NNoThingg  
這篇文章主要介紹了如何從零開始實(shí)現(xiàn)一個完整的前后端項(xiàng)目,將數(shù)據(jù)存儲在MySQL數(shù)據(jù)庫中,并通過API進(jìn)行實(shí)時的更新、查詢、修改和刪除操作,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

引言

很多小伙伴會好奇,如何從零開始實(shí)現(xiàn)一個完整的前后端項(xiàng)目,并將數(shù)據(jù)存儲在 MySQL 數(shù)據(jù)庫中,然后我們可以進(jìn)行實(shí)時的更新,查詢,修改,增加刪除。

比如一個簡單的留言板系統(tǒng),用戶可以通過前端提交留言,后端將數(shù)據(jù)存儲到 MySQL 中,再通過 API(如axios) 將數(shù)據(jù)展示在前端頁面上。又或者一個視頻留言系統(tǒng),允許用戶上傳視頻和評論,這些功能都需要前后端與數(shù)據(jù)庫的協(xié)作。本篇博客將通過具體的例子,從基礎(chǔ)出發(fā),帶你一步步完成從數(shù)據(jù)庫搭建到前后端數(shù)據(jù)交互的全過程。

無論你是初學(xué)者還是有一定基礎(chǔ)的開發(fā)者,這篇文章都能幫助你掌握前后端與數(shù)據(jù)庫連接的核心技能。

一、環(huán)境準(zhǔn)備(具體的各環(huán)境安裝細(xì)節(jié)會在下節(jié)單拎出來講解)

在開始之前,需要確保以下環(huán)境已經(jīng)準(zhǔn)備就緒:

  • 安裝 MySQL

    • 前往 MySQL 官方網(wǎng)站 下載并安裝 MySQL。
    • 在安裝過程中,設(shè)置一個安全的 root 用戶密碼,并選擇開發(fā)者默認(rèn)配置。
    • 安裝完成后,啟動 MySQL 服務(wù),使用命令行或圖形界面工具(如 MySQL Workbench,博主用的是Navicat界面化工具)連接數(shù)據(jù)庫。
  • 安裝 Node.js

    • 前往 Node.js 官方網(wǎng)站 下載并安裝 LTS 版本。
    • 安裝完成后,在終端輸入以下命令,確認(rèn)安裝成功:
      node -v
      npm -v
      
  • 安裝 Vue 開發(fā)環(huán)境

    • 使用 Vue CLI 快速搭建項(xiàng)目。首先,安裝 Vue CLI:
      npm install -g @vue/cli
      
    • 創(chuàng)建一個 Vue 項(xiàng)目:
      vue create frontend
      
      根據(jù)提示選擇默認(rèn)配置。
  • 測試工具

    • 推薦使用 Postman 或 curl 測試后端 API,方便調(diào)試接口。(可略)

二、創(chuàng)建數(shù)據(jù)庫和表

  • 登錄 MySQL 打開終端,輸入以下命令登錄 MySQL:

    mysql -u root -p
    

    輸入密碼后進(jìn)入 MySQL。當(dāng)然,對于大部分伙伴來說肯定是用界面化操作最好(如navicat)

  • 創(chuàng)建數(shù)據(jù)庫 創(chuàng)建一個名為 example_db (任意)的數(shù)據(jù)庫:

    CREATE DATABASE example_db;
    
  • 使用數(shù)據(jù)庫 切換到剛剛創(chuàng)建的數(shù)據(jù)庫:

    USE example_db;
    
  • 創(chuàng)建數(shù)據(jù)表 創(chuàng)建一個 messages 表,用于存儲留言信息:

    CREATE TABLE messages (
        id INT AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(255) NOT NULL,
        content TEXT NOT NULL,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
    
  • 插入測試數(shù)據(jù)

    INSERT INTO messages (username, content) VALUES ('Alice', 'Hello, this is my first message!');
    INSERT INTO messages (username, content) VALUES ('Bob', 'This platform is great!');
    

三、后端連接 MySQL

我們將使用 Node.js 和 mysql2 庫連接 MySQL。

  • 初始化項(xiàng)目 創(chuàng)建一個新的后端目錄,并初始化項(xiàng)目:

    mkdir backend && cd backend
    npm init -y
    
  • 安裝依賴

    npm install express mysql2 cors
    
  • 創(chuàng)建后端代碼 新建 server.js 文件,寫入以下代碼:

    const express = require('express');
    const mysql = require('mysql2');
    const cors = require('cors');
    
    const app = express();
    const port = 3000;
    
    app.use(cors());
    app.use(express.json());
    
    // 創(chuàng)建數(shù)據(jù)庫連接
    const db = mysql.createConnection({
        host: 'localhost',
        user: 'root',
        password: 'yourpassword',
        database: 'example_db'
    });
    
    // 測試數(shù)據(jù)庫連接
    db.connect(err => {
        if (err) {
            console.error('數(shù)據(jù)庫連接失敗:', err);
        } else {
            console.log('成功連接到數(shù)據(jù)庫');
        }
    });
    
    // 獲取所有留言
    app.get('/messages', (req, res) => {
        db.query('SELECT * FROM messages', (err, results) => {
            if (err) {
                res.status(500).send(err);
            } else {
                res.json(results);
            }
        });
    });
    
    // 添加新留言
    app.post('/messages', (req, res) => {
        const { username, content } = req.body;
        db.query('INSERT INTO messages (username, content) VALUES (?, ?)', [username, content], (err, results) => {
            if (err) {
                res.status(500).send(err);
            } else {
                res.json({ id: results.insertId, username, content });
            }
        });
    });
    
    // 啟動服務(wù)器
    app.listen(port, () => {
        console.log(`服務(wù)器運(yùn)行在 http://localhost:${port}`);
    });
    
  • 啟動后端服務(wù)器

    node server.js
    

    訪問 http://localhost:3000/messages,可以看到數(shù)據(jù)庫中的留言。

四、前端連接后端

我們使用 Vue 實(shí)現(xiàn)前端部分。(這里是已經(jīng)創(chuàng)建過了vue項(xiàng)目文件的,項(xiàng)目文件名為frontend)

  • 創(chuàng)建組件 在 frontend/src/components 目錄下創(chuàng)建 MessageBoard.vue 文件,寫入以下代碼:

    <template>
      <div>
        <h1>留言板</h1>
        <ul>
          <li v-for="message in messages" :key="message.id">
            <strong>{{ message.username }}</strong>: {{ message.content }}
          </li>
        </ul>
        <form @submit.prevent="addMessage">
          <input v-model="username" placeholder="用戶名" required />
          <textarea v-model="content" placeholder="留言內(nèi)容" required></textarea>
          <button type="submit">提交</button>
        </form>
      </div>
    </template>
    
    <script>
    import axios from 'axios';
    
    export default {
      data() {
        return {
          messages: [],
          username: '',
          content: ''
        };
      },
      created() {
        this.fetchMessages();
      },
      methods: {
        async fetchMessages() {
          try {
            const response = await axios.get('http://localhost:3000/messages');
            this.messages = response.data;
          } catch (error) {
            console.error('Error fetching messages:', error);
          }
        },
        async addMessage() {
          try {
            const newMessage = { username: this.username, content: this.content };
            await axios.post('http://localhost:3000/messages', newMessage);
            this.messages.push(newMessage);
            this.username = '';
            this.content = '';
          } catch (error) {
            console.error('Error adding message:', error);
          }
        }
      }
    };
    </script>
    
  • 集成組件 在src/ App.vue 中引入該組件:

    <template>
      <MessageBoard />
    </template>
    
    <script>
    import MessageBoard from './components/MessageBoard.vue';
    
    export default {
      components: {
        MessageBoard
      }
    };
    </script>
    
  • 運(yùn)行項(xiàng)目 在 frontend 目錄下啟動項(xiàng)目:

    npm run serve
    

    在瀏覽器中訪問 http://localhost:8080,可以看到留言板功能。

五、總結(jié)

通過上述步驟,我們實(shí)現(xiàn)了一個簡單的留言板系統(tǒng),涵蓋了以下內(nèi)容:

  • 使用 MySQL 創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表

    • 首先,創(chuàng)建一個 MySQL 數(shù)據(jù)庫,用于存儲留言信息。
    • 在數(shù)據(jù)庫中創(chuàng)建一個表,定義留言的字段,如留言內(nèi)容、用戶信息、留言時間等。
  • 使用 Node.js 開發(fā)后端接口并連接數(shù)據(jù)庫

    • 使用 Node.js 和 Express 框架開發(fā)后端 API。
    • 安裝并配置 MySQL 驅(qū)動(如 mysql2 或 sequelize)來連接數(shù)據(jù)庫。
    • 創(chuàng)建相關(guān)的 API 接口,例如 GET 用于獲取留言列表,POST 用于添加留言等。
    • 后端與數(shù)據(jù)庫交互,處理數(shù)據(jù)的增刪改查(CRUD)操作。
  • 使用 Vue 開發(fā)前端頁面,與后端進(jìn)行交互

    • 使用 Vue.js 創(chuàng)建前端頁面,展示留言列表,并提供用戶輸入留言的表單。
    • 使用 axios 或 fetch 等工具來發(fā)送 HTTP 請求與后端接口 進(jìn)行 交互。
    • 將用戶的留言顯示在前端頁面上,并實(shí)時更新。

通過這樣的實(shí)現(xiàn),用戶可以在前端輸入留言,后端接收并存儲到 MySQL 數(shù)據(jù)庫中,留言列表也會在頁面上實(shí)時顯示更新。這是一個簡單的 CRUD 應(yīng)用,適合入門學(xué)習(xí) Web 開發(fā)、數(shù)據(jù)庫管理和前后端交互。

到此這篇關(guān)于進(jìn)行前后端的數(shù)據(jù)庫(MySQL)連接操作的文章就介紹到這了,更多相關(guān)前后端的MySQL數(shù)據(jù)庫連接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • Windows10下mysql 8.0.19 安裝配置方法圖文教程

    Windows10下mysql 8.0.19 安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了Windows10下mysql 8.0.19 安裝配置方法圖文教程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • mysql快速添加百萬條記錄的語句

    mysql快速添加百萬條記錄的語句

    本文介紹一下關(guān)于MySQL使用INSERT SELECT批量插入數(shù)據(jù)的方法
    2013-11-11
  • MySQL提示“too?many?connections“錯誤的解決過程

    MySQL提示“too?many?connections“錯誤的解決過程

    當(dāng)大量的connect之后,就會出現(xiàn)Too many connections的錯誤,下面這篇文章主要給大家介紹了關(guān)于MySQL提示“too?many?connections“錯誤的解決過程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Linux centos7環(huán)境下MySQL安裝教程

    Linux centos7環(huán)境下MySQL安裝教程

    這篇文章主要為大家詳細(xì)介紹了Linux centos7環(huán)境下MySQL安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • mysql5.7.19 解壓版安裝教程詳解(附送純凈破解中文版SQLYog)

    mysql5.7.19 解壓版安裝教程詳解(附送純凈破解中文版SQLYog)

    Mysql5.7.19版本是今年新推出的版本,最近幾個版本的MySQL都不再是安裝版,都是解壓版了,大家在使用過程中遇到很多問題,下面小編給大家?guī)砹薓ySQL5.7.19 解壓版安裝教程詳解,感興趣的朋友一起看看吧
    2017-10-10
  • MySQL 中處理 BLOB 和 CLOB 數(shù)據(jù)類型小結(jié)

    MySQL 中處理 BLOB 和 CLOB 數(shù)據(jù)類型小結(jié)

    在MySQL中,BLOB和CLOB 數(shù)據(jù)類型用于存儲大量的二進(jìn)制數(shù)據(jù)和字符數(shù)據(jù),可以使用SQL 語句或編程語言將二進(jìn)制數(shù)據(jù)和字符數(shù)據(jù)插入到BLOB 和CLOB列中,這篇文章主要介紹了MySQL 中處理 BLOB 和 CLOB 數(shù)據(jù)類型,需要的朋友可以參考下
    2025-03-03
  • MySQL創(chuàng)建定時任務(wù)

    MySQL創(chuàng)建定時任務(wù)

    本文詳細(xì)講解了MySQL創(chuàng)建定時任務(wù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • mysql 5.1版本修改密碼及遠(yuǎn)程登錄mysql數(shù)據(jù)庫的方法

    mysql 5.1版本修改密碼及遠(yuǎn)程登錄mysql數(shù)據(jù)庫的方法

    這篇文章主要介紹了mysql 5.1版本修改密碼及遠(yuǎn)程登錄mysql數(shù)據(jù)庫的方法,需要的朋友可以參考下
    2017-04-04
  • MySQL錯誤:ERROR?1049?(42000):?Unknown?database?‘nonexistentdb‘的簡單解決辦法

    MySQL錯誤:ERROR?1049?(42000):?Unknown?database?‘nonexiste

    這篇文章主要給大家介紹了關(guān)于MySQL錯誤:ERROR?1049?(42000):?Unknown?database?‘nonexistentdb‘的簡單解決辦法,這個錯誤通常是由于連接的數(shù)據(jù)庫不存在導(dǎo)致的,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • MySQL 不用存儲過程循環(huán)插入數(shù)據(jù)的方法

    MySQL 不用存儲過程循環(huán)插入數(shù)據(jù)的方法

    在MySQL中,使用INSERT INTO VALUES語句可以一次性插入多行數(shù)據(jù),提高插入效率,還可通過Python的pymysql庫生成和執(zhí)行插入語句,這不僅減少了操作時間,還提高了代碼的簡潔性和執(zhí)行效率
    2024-09-09

最新評論