這一篇來討論和資料庫相關的問題
來認識與初步了解資料庫,如何如何安裝、啟動、初步的檢視資料等等
GoGo!
當然可以!關於資料庫的介紹:
資料庫是用來儲存、管理和檢索資料的系統。它們在軟體開發中扮演著重要的角色,幫助我們有效地組織和存取資訊。
常見的資料庫類型包括:
- 關聯式資料庫 (RDBMS):這種資料庫以表格的形式組織資料,表格之間透過特定的欄位相互關聯。最常見的關聯式資料庫是MySQL、PostgreSQL、以及Microsoft SQL Server。
- 非關聯式資料庫 (NoSQL):相對於關聯式資料庫,NoSQL 資料庫不遵循傳統的表格結構,而是使用不同的資料模型,例如文件型 (如MongoDB)、鍵-值對型 (如Redis)、或者圖型 (如Neo4j)。
- 物件導向資料庫 (OODBMS):這種資料庫將資料儲存為物件,可以更直接地映射程式中的物件。
- 圖形資料庫:專門用於處理具有複雜關聯性的資料,例如社交網路中的社交關係。
資料庫可以通過SQL (結構化查詢語言) 或其他查詢語言進行操作,這取決於你所選擇的資料庫類型。
對於一名前端工程師來說,了解如何連接和與資料庫進行互動是一個重要的技能,因為你可能需要從後端獲取資料以在前端顯示。
如果你想要進一步了解如何在前端專案中使用資料庫,可以考慮學習一些與前端相關的後端技術,如Node.js、Express.js,以及相應的資料庫操作套件。這樣你就能夠建立完整的網頁應用程式,包括前端和後端的連接。
如果你對特定的資料庫或相關技術有興趣,請隨時告訴我,我將盡力提供相關的詳細資訊和範例!
最常聽到的是關聯式資料庫,MySQL就是一個關聯式資料庫
來了解一下關聯式資料庫的具體介紹
當然!關聯式資料庫(Relational Database)是一種基於關聯模型(Relational Model)的資料庫系統,它使用表格(Table)來組織和儲存資料。
以下是一些與關聯式資料庫相關的基本概念:
- 表格(Table):
- 表格是資料庫中最基本的組織形式,它由多個列(Row)和列的屬性(Field)組成。每一列代表了一個記錄(Record)或者一個資料項目。
- 主鍵(Primary Key):
- 主鍵是一個唯一識別資料表中記錄的欄位,它確保了每個記錄都有唯一的識別值。
- 外鍵(Foreign Key):
- 外鍵是一個表格中的欄位,它參照了另一個表格的主鍵,用於建立不同表格之間的關聯。
- 索引(Index):
- 索引是一種儲存特定欄位數值的資料結構,它可以加速資料檢索的速度。
- 查詢語言(SQL - Structured Query Language):
- SQL 是一種用於與關聯式資料庫進行互動的語言。它包括了用於查詢、插入、更新、刪除等操作的指令。
- 資料完整性(Data Integrity):
- 關聯式資料庫提供了一些機制來保證資料的完整性,包括主鍵、外鍵約束等。
常見的關聯式資料庫系統包括 MySQL、PostgreSQL、SQLite、Microsoft SQL Server 等。
對於一名前端工程師來說,了解如何透過後端技術與關聯式資料庫進行互動是很重要的,這樣你可以從資料庫中獲取資料,並在前端進行顯示和操作。
如果你有任何關於關聯式資料庫或相關技術的具體問題,請隨時告訴我,我將樂意提供進一步的協助和範例!
當然!讓我為你提供一個關聯式資料庫的入門教學,我會以MySQL作為範例資料庫。
步驟一:安裝MySQL
首先,你需要在你的電腦上安裝MySQL資料庫。你可以從MySQL 官方網站下載安裝程式,並按照指示進行安裝。
步驟二:啟動MySQL伺服器
安裝完成後,請確保MySQL伺服器已經啟動。你可以在系統服務中確認。
步驟三:連接至MySQL
使用以下指令來以指定的使用者名稱和密碼連接至MySQL:
mysql -u your_username -p
請將
your_username
替換為你的使用者名稱。系統會要求你輸入密碼。步驟四:建立資料庫
一旦你成功登入,你可以使用以下指令來建立一個新的資料庫:
CREATE DATABASE my_database;
這將建立一個名為
my_database
的新資料庫。步驟五:選擇資料庫
使用以下指令來選擇你要使用的資料庫:
USE my_database;
這樣,你就可以在這個資料庫中進行操作了。
步驟六:建立表格
現在,讓我們來建立一個簡單的表格。以下是一個例子:
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50), email VARCHAR(50) );
這將建立一個名為
users
的表格,包含了id
、username
和步驟七:插入資料
現在,讓我們向這個表格中插入一些資料:
INSERT INTO users (username, email) VALUES ('john_doe', 'john@example.com'), ('jane_doe', 'jane@example.com');
這將在
users
表格中插入兩筆資料。步驟八:查詢資料
最後,你可以使用以下指令來查詢資料:
SELECT * FROM users;
這將返回
users
表格中的所有資料。這只是一個簡單的入門教學,讓你開始使用關聯式資料庫。當然,在實際的應用中,你會學到更多進階的操作和最佳實踐。如果你有任何具體的問題或需要更多範例,請隨時告訴我!
跑到官網,根據作業系統選擇mysql的版本下載
然後中間想叫你登入註冊,但沒關係,可以直接點擊就直接開始下載
然後安裝過程就要設定一下root帳號的密碼
好了之後,mac就可以在系統偏好設定的主頁,看到下面有mysql的選項
點進去之後,可以看到是否有啟用中,也可以選擇停用
都好了之後,打開終端機,輸入 mysql -u root -p
ChatGPT說的使用者名稱,是在mysql中有註冊帳號的情況下,才是輸入資料庫中設定的帳號
一開始的話系統只有幫我們創建root帳號,密碼就是剛剛安裝的時候的那個
進到這個介面就可以開始輸入sql相關的語法了
把ChatGPT給的指令一個一個輸入進去
就會執行創建DB、選擇DB、創建表格、輸入資料、顯示資料的動作
然後資料呈現上就是上圖的這樣,他會在終端機中畫給你看 (?)
微..克難,我們來問ChatGPT有沒有推薦的GUI (圖形介面)
是的,MySQL 提供了許多 GUI 圖形介面,可以方便地進行操作和觀看資料。以下是一些常用的 MySQL GUI 工具:
- MySQL Workbench:
- MySQL 官方提供的官方 GUI 工具,具有豐富的功能,包括資料庫設計、查詢編輯器、資料表管理等。
- DBeaver:
- DBeaver 是一個通用的開源資料庫工具,支援多種資料庫系統,包括 MySQL。它提供了直觀的界面和強大的功能。
- Navicat:
- Navicat 是一個商業資料庫管理工具,提供了直觀的界面、資料庫設計和管理功能。
- HeidiSQL:
- HeidiSQL 是一個開源的 MySQL GUI 工具,提供了簡單易用的界面,適合初學者使用。
- Sequel Pro(僅適用於 macOS):
- Sequel Pro 是一個免費的 MySQL GUI 工具,專為 macOS 用戶設計,提供了直觀的界面和豐富的功能。
這些工具可以幫助你以圖形化的方式進行資料庫操作,包括建立、編輯、刪除資料表,以及執行查詢等操作。你可以根據自己的喜好和需求選擇一個適合的 GUI 工具來使用。
如果你需要進一步的指導或對特定工具有疑問,請隨時告訴我!
以我自己的經驗來說,有用過MySQL Workbench、Navicat、HeidiSQL這三套軟體
個人覺得HeidiSQL相當好用,多個關聯式資料庫系統都可以一起管理,
MySQL、MSSQL、MariaDB、PostgreSQL、SQLite、Interbase、Firebird都可以使用HeidiSQL
但缺點是沒有Mac版本的,只有windows可以安裝使用
Navicat 似乎是付費的,我自己電腦上想下載也沒辦法,公司有一段時間是使用Navicat
MySQL Workbench 是MySQL官方工具,只能適用於MySQL
然後介面是英文的,按鈕也沒有提示文字,操作上需要熟悉一段時間
不過MySQL Workbench 有Windows和Mac版本
所以我們先選 MySQL Workbench 來安裝與使用
當然可以!以下是 MySQL Workbench 的安裝與基本使用教學:
步驟一:下載 MySQL Workbench
- 前往 MySQL 官方網站 下載 MySQL Workbench 的安裝程式。
- 選擇適用於你作業系統的版本(例如:Windows、macOS、Linux)。
步驟二:安裝 MySQL Workbench
根據你的作業系統,執行下載的安裝程式,並按照提示進行安裝。
步驟三:啟動 MySQL Workbench
安裝完成後,你可以在程式清單或啟動器中找到 MySQL Workbench 的圖示,並執行它。
步驟四:連接至 MySQL 伺服器
- 在 MySQL Workbench 中,點擊上方的「+」圖示以新增一個新的連線。
- 在彈出的視窗中,輸入以下資訊:
- Connection Name(連線名稱):隨意取一個名稱,用來識別這個連線。
- Connection Method(連線方式):Standard TCP/IP over SSH(通常是預設值)。
- Hostname(主機名稱):你的 MySQL 伺服器所在的位置,通常是
localhost
(如果 MySQL 伺服器在同一台電腦上)。- Port(埠):預設是 3306。
- Username(使用者名稱):你在 MySQL 中設定的使用者名稱。
- Password(密碼):對應的密碼。
- 點擊「Test Connection」來測試是否成功連接至 MySQL 伺服器。
- 若連接成功,點擊「OK」以儲存這個連線設定。
步驟五:操作 MySQL 資料庫
一旦成功連接至 MySQL 伺服器,你可以在 MySQL Workbench 中進行各種操作,包括:
- 查詢資料庫
- 建立新的資料表
- 編輯和刪除資料表
- 執行 SQL 查詢等
請注意,這只是一個基本的教學,MySQL Workbench 還提供了許多進階功能,例如資料庫設計、查詢優化等。如果你需要更進一步的指導或遇到特定的問題,請隨時告訴我!
特別注意的是,Mac版本的MySQL Workbench 8.0.34只支援MacOS 13版以上
也就是太久沒有更新自己macOS版本的人aka我,要記得先進行系統更新再安裝使用
否則他就會說版本不支援
接著點一下左邊Schemas,可以看到我們剛剛創建的DB
點開就有創建的table列表,可以按照下圖的方式點擊之後就會自動幫我們寫好query,顯示資料
使用GUI的優點,除了資料顯示更直覺、登入的資料庫&帳密可以儲存起來方便進入、切換之外
還有一些資料庫的操作,可以自動協助產生sql query 來完成改動
像是是改動資料:對著資料欄位點兩下,然後更改後按下右下角Apply
或是檢視、改變表格的欄位結構
這些都相當方便,基本上sql的GUI軟體都會提供這類的方便服務
試著請ChatGPT提供一些有關MySQL Workbench 的操作與功能介紹好了
當然!以下是針對 MySQL Workbench 的詳細操作教學與介紹:
1. 連接至資料庫伺服器
一旦你啟動了 MySQL Workbench,你可以透過以下步驟連接至你的 MySQL 伺服器:
點選左上角的「+」圖示,或者在首頁的「MySQL Connections」中點選「New Connection」。
填入相關資訊:
- Connection Name:隨意取一個名稱來識別這個連線。
- Connection Method:通常選擇「Standard TCP/IP over SSH」。
- Hostname:MySQL 伺服器所在位置,通常是
localhost
。- Port:通常是 3306。
- Username:你在 MySQL 中設定的使用者名稱。
- Password:對應的密碼。
點選「Test Connection」來測試連接。
最後,點選「OK」以建立連線。
2. 資料庫和資料表操作
在 MySQL Workbench 的左側窗格中,你會看到資料庫和資料表的樹狀結構。你可以進行以下操作:
- 建立新資料庫:在左側窗格上點擊右鍵,選擇「Create Schema」,並填入相關資訊。
- 刪除資料庫:在左側窗格上點擊右鍵,選擇「Drop Schema」,並按照提示進行操作。
- 建立新資料表:在特定資料庫中,點擊右鍵,選擇「Create Table」,並填入相關資訊。
- 編輯資料表:點擊特定資料表,你可以在右側窗格中編輯資料表的結構和資料。
3. 執行 SQL 查詢
在 MySQL Workbench 中,你可以透過以下方式執行 SQL 查詢:
- 在頂部的工具列中點選「Query」,這將打開一個新的查詢編輯器。
- 在查詢編輯器中,你可以輸入你的 SQL 查詢,並點擊左上角的「Execute」按鈕來執行它。
4. 查詢結果
當你執行查詢後,結果將會在下方的結果視窗中顯示。你可以在這裡檢視查詢結果的表格。
5. 匯入和匯出資料
在 MySQL Workbench 中,你可以輕鬆地匯入和匯出資料:
- 匯入資料:在特定資料庫上點擊右鍵,選擇「Table Data Import Wizard」。
- 匯出資料:在特定資料庫上點擊右鍵,選擇「Table Data Export Wizard」。
這些是 MySQL Workbench 的一些基本操作,但它還有許多進階功能,例如資料庫設計、查詢優化等,可以根據你的需求來進一步學習和應用。如果你對特定操作或功能有疑問,請隨時告訴我,我將樂意提供協助!
當然,讓我為你提供更多 MySQL Workbench 的操作教學:
6. 資料表設計與編輯
在 MySQL Workbench 中,你可以進行資料表的設計與編輯:
- 新增欄位:
- 在資料表編輯器中選擇你想要新增欄位的位置。
- 在右側的屬性面板中,填入欄位的相關資訊(名稱、資料類型、長度等)。
- 修改欄位:
- 雙擊欄位以進入編輯模式,或者在右側的屬性面板中進行修改。
- 刪除欄位:
- 選中你要刪除的欄位,按下 Delete 鍵。
- 設定主鍵、外鍵等約束:
- 在資料表編輯器中,右鍵點擊欄位,選擇「Set as Primary Key」或「Set as Foreign Key」。
7. 執行多個 SQL 查詢
你可以在 SQL 查詢編輯器中執行多個 SQL 查詢:
- 在 SQL 編輯器中,將多個查詢用分號
;
分隔開。- 點擊左上角的「Execute」按鈕,所有查詢都將一次性執行。
8. 查詢歷史
MySQL Workbench 會記錄你執行的 SQL 查詢,可以輕鬆查找之前的操作:
- 點擊 SQL 編輯器上方的「History」選項卡,你會看到之前執行的所有查詢。
9. 資料匯入和匯出
你可以透過 MySQL Workbench 進行資料的匯入和匯出:
- 匯入資料:
- 在左側窗格找到你要匯入資料的資料庫,右鍵選擇「Table Data Import Wizard」。
- 選擇你要匯入的檔案,按照指示進行操作。
- 匯出資料:
- 在左側窗格找到你要匯出資料的資料庫,右鍵選擇「Table Data Export Wizard」。
- 選擇匯出格式和路徑,按照指示進行操作。
10. 查詢執行計畫
你可以查看查詢的執行計畫,以了解查詢的效能和優化:
- 在 SQL 編輯器中,輸入你的查詢,然後點擊右上角的「Explain」按鈕。
11. 設定自動儲存
你可以設定 MySQL Workbench 定期自動儲存你的工作:
- 在頂部工具列中點擊「Edit」 > 「Preferences」 > 「SQL Editor」。
- 勾選「Automatically commit after each statement」。
這樣,每次你執行一個 SQL 查詢,它都會自動儲存。
這些是一些進階的 MySQL Workbench 操作,希望對你有所幫助。如果你有任何特定的問題或需要更多的協助,請隨時告訴我!
本次的內容涵蓋了從資料庫基本概念到 MySQL Workbench 的操作教學。以下是一些重點:
- 資料庫基本概念:
- 資料庫是用來儲存、管理和檢索資料的系統,有關聯式、非關聯式等不同種類。
- 關聯式資料庫介紹:
- 關聯式資料庫以表格形式組織資料,具有主鍵、外鍵等重要概念。
- MySQL Workbench 安裝與連接:
- 下載並安裝 MySQL Workbench,透過它與 MySQL 伺服器建立連線。
- 資料庫與資料表操作:
- 在 MySQL Workbench 中建立、編輯、刪除資料庫和資料表。
- SQL 查詢:
- 在 MySQL Workbench 中透過 SQL 查詢執行資料操作。
- 匯入和匯出資料:
- 使用 MySQL Workbench 進行資料的匯入和匯出。
- 查詢歷史和查詢執行計畫:
- MySQL Workbench 可以追蹤查詢歷史,並提供查詢執行計畫分析效能。
- 資料表設計與編輯:
- 在 MySQL Workbench 中進行資料表結構的設計和編輯。
- 自動儲存設定:
- 設定 MySQL Workbench 自動儲存你的工作。
結語:
學習資料庫和相關工具如 MySQL Workbench 是成為一名優秀的前端工程師的重要一步。資料庫是儲存和管理數據的關鍵,而 MySQL Workbench 提供了一個強大的工具來視覺化地操作資料庫。
隨著你的學習進程,你將能夠建立更複雜的資料庫結構,並透過 SQL 查詢進行高效的資料操作。這將使你能夠開發出更具功能性和效率的前端應用程式。
如果你在學習的過程中遇到了任何問題,請隨時向我尋求幫助。祝你在學習前端工程師的道路上順利前行!
本次對話記錄在這邊:
https://chat.openai.com/share/d8b5aff3-fed9-44cf-822d-459fbf6d1d5b
原本ChatGPT有推薦我用SQLite來練習
雖然很輕便好用,但因為他是一個單機的服務,沒有透過網路
和工作上、實務上會用的方式還是有一點不同
單純要練sql語法或是小型專案當然可以用SQLite
那最後我選擇了比較泛用的mysql當作練習目標
這篇還沒有講解和語法有關的部分,切到下一篇處理!
下一篇!SQL語法!以及回到NodeJS上,探討如何在NodeJS和資料庫做連接
我是也會SQL的前端工程師一宵三筵,我們明天見!