
- Node.js 教程
- Node.js - 首頁
- Node.js - 簡介
- Node.js - 環境設定
- Node.js - 第一個應用程式
- Node.js - REPL 終端
- Node.js - 命令列選項
- Node.js - 包管理器 (NPM)
- Node.js - 回撥函式概念
- Node.js - 上傳檔案
- Node.js - 傳送電子郵件
- Node.js - 事件
- Node.js - 事件迴圈
- Node.js - 事件發射器
- Node.js - 偵錯程式
- Node.js - 全域性物件
- Node.js - 控制檯
- Node.js - 程序
- Node.js - 應用程式擴充套件
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 緩衝區
- Node.js - 流
- Node.js - 檔案系統
- Node.js MySQL
- Node.js - MySQL 入門
- Node.js - MySQL 建立資料庫
- Node.js - MySQL 建立表
- Node.js - MySQL 插入資料
- Node.js - MySQL 從表中選擇資料
- Node.js - MySQL Where 條件
- Node.js - MySQL 排序
- Node.js - MySQL 刪除資料
- Node.js - MySQL 更新資料
- Node.js - MySQL 聯接
- Node.js MongoDB
- Node.js - MongoDB 入門
- Node.js - MongoDB 建立資料庫
- Node.js - MongoDB 建立集合
- Node.js - MongoDB 插入資料
- Node.js - MongoDB 查詢資料
- Node.js - MongoDB 查詢
- Node.js - MongoDB 排序
- Node.js - MongoDB 刪除資料
- Node.js - MongoDB 更新資料
- Node.js - MongoDB 限制結果
- Node.js - MongoDB 聯接
- Node.js 模組
- Node.js - 模組
- Node.js - 內建模組
- Node.js - 實用程式模組
- Node.js - Web 模組
- Node.js 有用資源
- Node.js - 快速指南
- Node.js - 有用資源
- Node.js - 討論
Node.js - MySQL 建立表
MySQL 是一種關係資料庫管理系統軟體,它使用 SQL 對儲存在關係資料庫表中的資料執行 CRUD 操作。在本教程中,我們將學習如何使用 MySQL 資料庫作為 Node.js 應用程式的後端。本章介紹如何使用 Node.js 程式在 MySQL 資料庫中建立表。
在關係資料庫中,表表示一個實體,其特徵是一個或多個屬性。表中的每一行都是實體的一個例項。每個實體例項由表屬性的某些值來描述。表通常有一個屬性標記為主鍵,約束每一行具有唯一值。
MySQL 中的 CREATE TABLE
MySQL 根據 SQL 標準實現了 CREATE TABLE 語句。此語句定義表的屬性數量和型別。
MySQL 的 CREATE TABLE 查詢語法如下:
CREATE TABLE [IF NOT EXISTS] table_name( column1 datatype constraints, column1 datatype constraints, ) ENGINE=storage_engine;
MySQL 支援各種資料型別,例如整數型別(例如 INT、TINYINT 等)、浮點數型別(FLOAT 和 DOUBLE)、字串型別(VARCHAR、TEXT 等)以及 DATE 和 TIME 型別。
為了確保關係資料庫的資料完整性,可以在列上應用約束,例如 PRIMARY KEY、NOT NULL、AUTO_INCREMENT 等。
讓我們在 mydb 資料庫中建立 employee 表。啟動 MySQL 伺服器,開啟 MySQL 命令列客戶端,併發出如下 CREATE TABLE 查詢:
mysql> use mydb; Database changed mysql> CREATE TABLE IF NOT EXISTS employee ( -> id INT AUTO_INCREMENT PRIMARY KEY, -> name VARCHAR(20) NOT NULL, -> age INT, -> salary FLOAT -> ); Query OK, 0 rows affected (0.09 sec)
MySQL 命令 SHOW TABLES 列出正在使用的資料庫中的所有表。
mysql> SHOW TABLES; +----------------+ | Tables_in_mydb | +----------------+ | employee | +----------------+ 1 row in set (0.00 sec)
Node.js 中的 CREATE TABLE
現在,我們必須使用 Node.js 應用程式以程式設計方式建立一個 MySQL 表。此過程涉及以下步驟:
包含 mysql 模組
呼叫 createConnection() 函式以獲取連線物件。
使用連線物件的 query() 方法,並將 CREATE TABLE 查詢字串作為第一個引數傳遞給它。
要檢查表是否已建立,請將 SHOW TABLES 查詢傳遞給 query() 方法。
示例
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "mypassword", database: "mydb" }); var qry =`CREATE TABLE IF NOT EXISTS employee ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL, age INT, salary FLOAT );`; con.connect(function (err) { if (err) throw err; console.log("Connected!"); con.query(qry, function (err, result) { if (err) throw err; console.log("Created table successfully"); }); con.query("SHOW TABLES;", function (err, result) { if (err) throw err; console.log("Showing tables\n"); for (var i = 0; i < result.length; i++) { console.log(JSON.stringify(result[i])); } }) con.end(); });
輸出
Connected! Created table successfully Showing tables {"Tables_in_mydb":"employee"}
您還可以使用 DESC 命令,該命令顯示我們表中每個欄位的欄位、型別和約束(如預設值、主鍵等)。
con.query("DESC employee;", function (err, result) { if (err) throw err; console.log(JSON.stringify(result)); });
輸出
[ {"Field":"id","Type":"int","Null":"NO","Key":"PRI","Default":null,"Extra":"auto_increment"}, {"Field":"name","Type":"varchar(20)","Null":"NO","Key":"","Default":null,"Extra":""}, {"Field":"age","Type":"int","Null":"YES","Key":"","Default":null,"Extra":""}, {"Field":"salary","Type":"float","Null":"YES","Key":"","Default":null,"Extra":""} ]