Node.js - MySQL 建立資料表:初學者指南
您好,有志於成為程序員的各位!今天,我們將踏上一段令人興奮的旅程,進入 Node.js 和 MySQL 的世界。作為您親切友善的計算機科學老師,我將指導您使用 Node.js 在 MySQL 中建立資料表的过程。如果您是編程新手,請不要擔心——我們會從基礎開始,逐步學習。所以,來一杯咖啡(或者茶,如果您喜歡的話),我們一起來深入了解一下!
了解基礎知識
在我們投入代碼之前,讓我們花一會兒時間來了解我們將要處理的內容。Node.js 是一個強大的 JavaScript 執行環境,讓我們能在服務器端運行 JavaScript。另一方面,MySQL 是一個流行的關係型數據庫管理系統。當我們將這兩種技術結合起來時,可以創建與數據庫交互的動態網絡應用程序。
現在,想像您正在整理書架。每一個書架可以是數據庫中的一個資料表,而每一本書代表一行數據。創建一個資料表就像設置一個新書架,並為其可以存放的書籍(數據)指定特定的規則。
在 MySQL 中 CREATE TABLE
讓我們從直接在 MySQL 中創建資料表開始。這將為我們在 Node.js 中進行操作打下堅實的基礎。
基本語法
在 MySQL 中創建資料表的基本語法如下:
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
....
);
讓我們分解一下:
-
CREATE TABLE
是告訴 MySQL 我們想要創建一個新資料表的命令。 -
table_name
是您想要為資料表指定的名稱。 - 在括號內,我們列出我們的列以及它們的數據類型。
一個簡單的例子
讓我們創建一個用於存儲書籍信息的資料表:
CREATE TABLE books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_year INT,
isbn VARCHAR(13) UNIQUE
);
在這個例子中:
-
id
是一個自動增加的整數,並作為主鍵。 -
title
和author
是可變長度的字符串,不能為空。 -
publication_year
是一個整數。 -
isbn
是一個唯一的 13 字符串。
記得我提到過整理書架嗎?這個資料表結構就像給每一個書架部分標籤:一個給書的 ID,一個給書名,另一個給作者,等等。
在 Node.js 中 CREATE TABLE
現在我們已經了解了如何在 MySQL 中創建資料表,讓我們看看如何使用 Node.js 完成相同的結果。這裡就是魔術發生的地方!
設置環境
首先,我們需要設置 Node.js 環境並安裝必要的包。打開您的終端並運行以下命令:
npm init -y
npm install mysql2
這將創建一個新的 Node.js 專案並安裝 mysql2 包,我們將使用它來連接到我們的 MySQL 數據庫。
連接到 MySQL
在我們能夠創建資料表之前,我們需要與我們的 MySQL 數據庫建立連接。以下是如何操作的:
const mysql = require('mysql2');
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database_name'
});
connection.connect((err) => {
if (err) {
console.error('連接數據庫時發生錯誤:' + err.stack);
return;
}
console.log('已成功連接到數據庫。');
});
將 'your_username'
、'your_password'
和 'your_database_name'
替換為您的實際 MySQL 凭據。
創建資料表
現在,讓我們使用 Node.js 創建我們的書籍資料表:
const createTableQuery = `
CREATE TABLE IF NOT EXISTS books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_year INT,
isbn VARCHAR(13) UNIQUE
)
`;
connection.query(createTableQuery, (err, results) => {
if (err) {
console.error('創建資料表時發生錯誤:' + err.stack);
return;
}
console.log('資料表創建成功。');
});
讓我們分解一下:
- 我們定義我們的 SQL 查詢作為一個字符串,就像我們在純 MySQL 中做的那樣。
- 我們使用
IF NOT EXISTS
來防止如果資料表已經存在時發生錯誤。 - 我們使用
connection.query()
方法來執行我們的 SQL 查詢。 - 我們提供一個回調函數來處理結果或任何錯誤。
組合所有代碼
以下是一個完整的腚本,它連接到數據庫並創建我們的資料表:
const mysql = require('mysql2');
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database_name'
});
connection.connect((err) => {
if (err) {
console.error('連接數據庫時發生錯誤:' + err.stack);
return;
}
console.log('已成功連接到數據庫。');
const createTableQuery = `
CREATE TABLE IF NOT EXISTS books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_year INT,
isbn VARCHAR(13) UNIQUE
)
`;
connection.query(createTableQuery, (err, results) => {
if (err) {
console.error('創建資料表時發生錯誤:' + err.stack);
return;
}
console.log('資料表創建成功。');
connection.end(); // 當我們完成時關閉連接
});
});
要運行此腚本,將其保存為 create_table.js
並使用 Node.js 執行它:
node create_table.js
如果一切順利,您應該會看到 "已成功連接到數據庫。" 跟著 "資料表創建成功。"
結論
恭喜您!您剛剛使用 Node.js 在 MySQL 中創建了您的第一個資料表。將我們所做的事情想像成在您數據庫的廣闊書庫中設置一個全新的、有組織的書架。每次運行這個腚本時,它都會檢查書架(資料表)是否存在,如果不存在,就為您創建一個。
請記住,這只是開始。有了這個知識,您可以創建更複雜的資料表,為它們之間添加關係,並開始構建強大的數據庫驅動應用程序。
當我們結束時,這裡有一個來自您親切計算機科學老師的小提示:在執行您的 Node.js 腚本之前,請務必檢查您的連接詳情,並確保您的 MySQL 服務器正在運行。這會為您節省很多抓狂的時刻!
繼續練習,保持好奇心,並祝您編程愉快!
| 方法 | 描述 |
|-------|-------------|
| mysql.createConnection()
| 創建一個新的 MySQL 連接 |
| connection.connect()
| 與 MySQL 服務器建立連接 |
| connection.query()
| 在連接的數據庫上執行 SQL 查詢 |
| connection.end()
| 關閉 MySQL 連接 |
Credits: Image by storyset