昨天已經安裝了我們要連接的資料庫,今天我們要來用程式進行連線啦~
在程式連線之前,我們先開啟昨天的 TablePlus ,
按一下上方有個資料庫的圖案,來建立新的資料庫 book
。
接著,點選上方 SQL 輸入以下 SQL 指令,創建一個測試的資料表。
CREATE TABLE `booktest` (
`id` int NOT NULL AUTO_INCREMENT,
`bookName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
最後,再隨意建立一個測試資料,基本的創建就完成了。
INSERT INTO `booktest` (`bookName`) VALUES
('testBook')
接著我們終於要開 Express 與資料庫連線了,我們繼續看下去~!
npm install mysql2
的指令下載 MySQL 的套件。創立一個 config
的資料夾,再新增一個 mysqlConnection.js
檔案,
負責設定如何資料庫連線。
在 mysqlConnection.js
檔案,設定資料庫的帳密來建立連線。
// 引入 mysql2/promise 模組
const mysql = require('mysql2/promise')
async function mysqlConnection() {
try {
// 建立與數據庫的連接
const connection = await mysql.createConnection({
host: 'localhost',
port: 3306,
user: 'root',
database: 'book',
password: '${密碼}'
})
// 關閉連接
connection.end()
} catch (error) {
console.error('連接數據庫時出現錯誤:', error)
}
}
可以對照當時在 TablePlus 連線時的設定。
在連線底下寫一個簡單的 SQL,來測試看看有沒有連線正常。
// 引入 mysql2/promise 模組
const mysql = require('mysql2/promise')
async function mysqlConnection() {
try {
// 建立與數據庫的連接
const connection = await mysql.createConnection({
host: 'localhost',
port: 3306,
user: 'root',
database: 'book',
password: '${密碼}'
})
// 執行 SQL 查詢
const [rows, fields] = await connection.query('SELECT * FROM `booktest`')
console.log(rows) // 在這裡處理查詢結果
// 關閉連接
connection.end()
} catch (error) {
console.error('連接數據庫時出現錯誤:', error)
}
}
現在來測試一下吧~
cd config
到 config
的資料夾底下。node mysqlConnection.js
指令,測試看看有沒有跑出在 booktest 資料表新增的資料,undefined
的話,需要回去程式檢查一下是哪一個連線設定沒有設定好。)以上資料庫連線的設定就完成啦~
明天會與大家聊聊如何與資料庫進行 新增/刪除/修改 等部分!
參考資料: