Node.js - MySQL 建立資料表:初學者指南

您好,有志於成為程序員的各位!今天,我們將踏上一段令人興奮的旅程,進入 Node.js 和 MySQL 的世界。作為您親切友善的計算機科學老師,我將指導您使用 Node.js 在 MySQL 中建立資料表的过程。如果您是編程新手,請不要擔心——我們會從基礎開始,逐步學習。所以,來一杯咖啡(或者茶,如果您喜歡的話),我們一起來深入了解一下!

Node.js - MySQL Create Table

了解基礎知識

在我們投入代碼之前,讓我們花一會兒時間來了解我們將要處理的內容。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 是一個自動增加的整數,並作為主鍵。
  • titleauthor 是可變長度的字符串,不能為空。
  • 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('資料表創建成功。');
});

讓我們分解一下:

  1. 我們定義我們的 SQL 查詢作為一個字符串,就像我們在純 MySQL 中做的那樣。
  2. 我們使用 IF NOT EXISTS 來防止如果資料表已經存在時發生錯誤。
  3. 我們使用 connection.query() 方法來執行我們的 SQL 查詢。
  4. 我們提供一個回調函數來處理結果或任何錯誤。

組合所有代碼

以下是一個完整的腚本,它連接到數據庫並創建我們的資料表:

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