讀書記錄《SQL從小白到大牛》01
接地氣的書名,內容應當值得一讀。
第一篇 SQL基礎
01 一些基礎概念
- SQL是結構化查詢語言(Structured Query Language),是一套用來輸入、更改和查看關系數據庫內容的命令。
- 數據庫發展經歷三個階段:人工管理——文件系統——數據庫系統
- 數據庫數據邏輯模型:網狀模型、層次模型、關系模型、對象模型
02 一些定義
- 二維表:關系模型的數據結構是一個二維表組成的集合
- 關系:每個二維表稱為關系
- 實體:系統中的人事物
- 表:這些實體所構成的集合
- 元組:也稱為記錄,就是行。
- 字段:也稱為列。
- 鍵:Key。碼,分為超鍵、候選鍵、主鍵、外鍵。
- 超鍵(Super Key),能夠唯一標識一行數據的字段或者字段集。【可以有多種組合】
- 候選鍵(Candidate Key),是包含最少字段的超鍵。
- 主鍵(Primary Key),從候選鍵中選擇出來的。
- 外鍵(Foreign Key),一個關系數據庫可能包含多個表,通過外鍵關聯起來。
03 SQL概述
-
SQL主要分為5類,數據定義語言、數據操作語言、數據控制語言、事務控制語言、數據控制語言。
-
數據定義語言(DDL)
- CREATE 創建
- DROP 刪除
- ALTER 修改
- TRUNCATE 刪除
-
數據操作語言(DML)
- INSERT 插入數據
- UPDATE 更新數據
- DELETE 刪除數據
- SELECT 選擇數據
-
數據控制語言(DCL)
- GRANT 授權
- REVOKE 取消授權
-
事務控制語言(TCL)
- COMMIT 提交事務
- ROLLBACK 回滾事務
- SAVEPOINT 設置事務保存點
-
數據查詢語言(DQL)
- SELECT 數據查詢
SQL標準
- SQL不區分大小寫
- 忽略空白
- 語句結束符為;, 單獨一句可以不用
學習環境搭建
-
SQLite搭建
www.sqlite.org
-
DB4S
https://sqlitebrowser.org/dl/
具體操作語言指令
文中詳細介紹了DB4S的使用方法(依舊是使用SQL語句),因此直接介紹具體的操作語言指令 (部分)。
1 新建表、設置表格式
CREATE TABLE student (s_id INTEGER,s_name VARCHAR(20),gender CHAR (1),PIN CHAR(18))
INTEGER定義整數類型;
VARCHAR(20)定義可變長度,最大長度為20B;
CHAR(1)表示固定長度為1B的字符串類型。
2 指定候選鍵
兩種定義方式:
CREATE TABLE student (s_id INTEGER,s_name VARCHAR(20),gender CHAR (1),PIN CHAR(18) UNIQUE)
CREATE TABLE student (s_id INTEGER,s_name VARCHAR(20),gender CHAR (1),PIN CHAR(18) ,UNIQUE (PIN))
指定主鍵:PRIMARY KEY(s_id)
指定外鍵: 1 s_id INTEGER REFERENCES students (s_id)
2 FPREIGN KEY(s_id) REFERENCES student(s_id)
3 約束
DEFAULT 'F’定義默認值
NOT NULL 禁止空值
都加在CREATE TABLE 里面語句的末尾。
4 CHECK約束
單獨一句
score INTEGER CHECK(score>-0 AND score <=100)
修改表
修改表名
ALTER TABLE table_name
RENAME TO new_table_name
添加字段
ALTER TABLE table_name
ADD field_name datatype[(size)]
刪除字段
ALTER TABLE table_name
DROP COLUMN field_name
刪除表
DROP TABLE table_name
修改數據
/*插入數據*/INSERT INTO table_name
[(field_list)]
VALUES
(value_list);/*更改數據*/
UPDATE table_name
SET field1 = value1, field2 = value2,...
[WHERE condition];
/*例如 WHERE 編號=666*//*更改數據*/
DELETE FROM table_name
[WHERE condition];
后續一些內容
-
視圖管理
-
查詢數據
-
匯總查詢結果
-
子查詢
-
表的連接
待更新