我們理解的資料庫就是儲存資料的地方,而資料庫本身也區分為 關聯式資料庫 和 非關聯式資料庫
關聯式資料庫(SQL - Structured Query Language)可以想成常見的rows/columns組成的table,包含了MySQL, Oracle, PostgreSQL…
非關聯式資料庫(no SQL) 可以想成儲存方式非一般的資料型態,像是以圖片的方式儲存或是key的方式儲存,包含MongoSQL, Redis…
- Background: 大小寫都可 關鍵字文字顏色會變成藍色
- Command line:
- How to create/remove/drop/delete database?
- How to create/remove/drop/delete table?
Database
Key points: use ‘;’ at every sentence
CREATE DATABASE;
CREATE DATABASEsql_Qual
; 避免與關鍵字搞混衝突 可以把命名名稱用反引號包起來
DROP DATABASEsql_Qual
; (刪除database)
USEsql_Qual
; (指定使用特定資料庫)
SHOW DATABASES
Table
首先先來聊聊資料型態的應用,以下常見資料型態有助於資料設定
常用資料型態:
- INT 整數
- DECIMAL(3, 2) 2.33 小數點
- VARCHAR(n) 字串
- BLOB (binary large object)存放二進制資料 像是圖片…
- DATE – yyyy-mm-dd
- TIMESTAMP – yyyy-mm-dd hh:mm:ss
接下來,建立table
方法一:
CREATE TABLEstudent
(
student_id
INT PRIMARY KEY,
name
VARCHAR(20) NOT NULL, #not null
major
VARCHAR(20) UNIQUE #no duplicate
);
方法二:
CREATE TABLEstudent
(
student_id
INT auto_increment, #auto_increment 會自動加一 帶入
name
VARCHAR(20),
major
VARCHAR(20) DEFAULThistory
#會自動帶入歷史,不用額外設定
PRIMARY KEY(student_id
)
);
DESCRIBE
student
; (check table)
簡單的創建database and table能有效訓數搭建所需的資料性質協助測試
接下來會進一步介紹如何做columns and rows的變換