Nodejs教程21:資料庫入門

LeeChen發表於2019-03-14

閱讀更多系列文章請訪問我的GitHub部落格,示例程式碼請訪問這裡

資料庫的分類

  1. 檔案資料庫 它的優點是:資料儲存在單一檔案中,因此部署十分方便,常用來嵌入到APP中儲存資料,以及手機中的簡訊、通話記錄等。

    常用的有SQLite、Access等。

  2. 關係型資料庫 關係型資料庫的功能強大,適用場景豐富,它的特點是資料之間互相是關聯的。

    比如淘寶,一個使用者下有個人資訊、訂單資訊、聊天記錄等,可以分別儲存在不同表中,通過使用者ID相互關聯起來。但它的效能不是最強的。

    常用的有SQL。

  3. 分散式資料庫 它的特點是可以安裝在多臺機器上,可以將查詢等操作分散開,合理利用伺服器資源。

    還可以將資料設定多個備份,一旦其中一臺伺服器異常,可以由其他伺服器同步資料。

    常用的有MongoDB。

  4. NoSQL 它只能支援簡單查詢,但效能強於關係型資料庫,常用來做介面、資料快取等。

    常用的有MongoDB、Memcached、Redis等。

SQL語句

結構化查詢語言(Structured Query Language)簡稱SQL,它主要用來存取、查詢、更新和管理關聯式資料庫系統。

SQL 分為兩個部分:資料定義語言 (DDL)和資料操作語言 (DML) 。

DDL語句

CREATE DATABASE - 建立新資料庫

ALTER DATABASE - 修改資料庫

CREATE TABLE - 建立新表

ALTER TABLE - 變更(改變)資料庫表

DROP TABLE - 刪除表

CREATE INDEX - 建立索引(搜尋鍵)

DROP INDEX - 刪除索引

DML語句

資料操作語言 (DML) 是最常用的操作,即增刪改查,它包括如下部分:

  1. 增INSERT INTO - 向資料庫表中插入資料

    INSERT INTO <表> (欄位, ...) VALUES(值, ...);

    INSERT INTO user_table (username, password) VALUES('lee', '123456');

    在user_table表中插入一條資料。

  2. 刪DELETE - 從資料庫表中刪除資料

    DELETE FROM <表> WHERE 條件;

    DELETE FROM user_table WHERE ID=2;

    刪除user_table表中ID為2的專案。

  3. 改UPDATE - 更新資料庫表中的資料

    UPDATE <表> SET 欄位=新值,欄位=新值,... WHERE 條件;

    UPDATE user_table SET password='888888', username='chen' WHERE ID=1;

    將user_table表中ID為1的使用者名稱和密碼更新。

  4. 查SELECT - 從資料庫表中獲取資料

    SELECT 欄位列表 FROM <表> WHERE 條件 ORDER BY 欄位 LIMIT 30,30;

    SELECT ID FROM user_table WHERE username=‘lee’ ORDER BY ID ASC LIMIT 0,10;

    查詢user_table表中username為lee的使用者的ID,取0~10個,按升序排列。

資料庫索引

資料庫的索引需要作用是提高查詢效能,另外還可以對資料進行限制,如限制為“唯一”。

索引的型別有四種,如下:

  1. 主鍵

    具有“唯一”和“索引”的雙重優點。

  2. 唯一

    定義欄位為唯一,即不可重複。

  3. 索引

    優點:提高查詢效能,相當於書的目錄。

    缺點:降低增、刪、改的效能,因為這些操作可能會觸發資料庫整理、重建索引。另外,索引也會佔用磁碟空間。

  4. 全文索引

    適合文字搜尋,常用在搜尋引擎中。

下一節將主要介紹如何使用Nodejs運算元據庫

相關文章