【SQL基礎教程】初識資料庫
阿新 • • 發佈:2020-12-16
目錄
1. 初識資料庫
1.1 定義
資料庫(DB):將大量資料儲存起來,通過計算機加工而成的可以進行高效訪問的資料集合。
資料庫管理系統(DBMS):用來管理資料庫的計算機系統。
1.2 DBMS的種類
根據資料的儲存格式(資料庫的種類),主要分為5個型別:
- 層次資料庫:最古老的資料庫之一,把資料通過層次結構(樹形結構)表現出來,現在很少使用。
- 關係資料庫:
- 目前應用最廣泛的資料庫,採用行和列組成的二維表管理資料,使用SQL(結構化查詢語言)進行資料操作。
- 關係資料庫管理系統(RDBMS)代表:Oracle Database、SQL Server、DB2、PostgreSQL、MySQL
- 面向物件資料庫:儲存物件(資料及對資料的操作)的資料庫
- XML資料庫:儲存XML形式的資料
- 鍵值儲存系統:儲存查詢所使用的主鍵(key)和值(value)的組合的資料庫。舉例:MongoDB。
1.3 RDBMS的常見系統結構
使用 RDBMS 時,最常見的系統結構是客戶端 / 伺服器(C/S)型別這種結構。
1.4 表的結構
表是關係資料庫中用來管理資料的二維表。
表儲存在由RDBMS管理的資料庫中,根據SQL語句返回的資料同樣必須是二維表的形式。
表的列稱為欄位,表的行稱為記錄,行和列交匯的方格稱為單元格。
關係資料庫必須以行為單位進行資料讀寫。
2. 初始SQL
2.1 SQL語句的種類
根據對RDBMS賦予的指令種類的不同,SQL 語句可以分為以下3類:
- DDL:資料定義語言,用來建立或者刪除儲存資料用的資料庫以及資料庫中的表等物件。
- CREATE:建立資料庫和表等物件
- DROP:刪除資料庫和表等物件
- ALTER:修改資料庫和表等物件的結構
- DML:資料操縱語言,用來查詢或者變更表中的記錄。(使用最多)
- SELECT:查詢表中的資料
- INSERT:向表中插入新資料
- UPDATE:更新表中的資料
- DELETE:刪除表中的資料
- DCL:資料控制語言,用來確認或者取消對資料庫中的資料進行的變更。除此之外,還可以對 RDBMS 的使用者是否有許可權操作資料庫中的物件(資料庫表等)進行設定。
- COMMIT:確認對資料庫中的資料進行的變更
- ROLLBACK :取消對資料庫中的資料進行的變更
- GRANT:賦予使用者操作許可權
- REVOKE:取消使用者的操作許可權
2.2 SQL的基本書寫規則
- SQL語句要以分號結尾。
- SQL不區分關鍵字的大小寫,但是插入到表中的資料是區分大小寫的。
- win系統預設不區分表名及欄位名的大小寫。
- 常數的書寫方式是固定的。
- 字串和日期常數需要使用單引號括起來。例如:'abc', '26 Jan 2010', '10/01/26',,'2010-01-26'
- 數字常數無需加註引號,直接書寫數字即可。例如:1234
- 單詞需要用半形空格或者換行來分隔。
2.3 資料庫的建立
語法:
CREATE DATABASE < 資料庫名稱 > ;
2.4 表的建立
語法:
CREATE TABLE < 表名 >
( < 列名 1> < 資料型別 > < 該列所需約束 > ,
< 列名 2> < 資料型別 > < 該列所需約束 > ,
< 列名 3> < 資料型別 > < 該列所需約束 > ,
< 列名 4> < 資料型別 > < 該列所需約束 > ,
.
.
.
< 該表的約束 1> , < 該表的約束 2> ,……);
2.5 命名規則
- 資料庫名稱、表名、列名只能使用半形英文字母、半形數字、下劃線三種字元。
- 名稱必須以半形英文字母開頭。
- 名稱不能重複:同一個資料庫中不能建立兩個相同名稱的表,同一個表中也不能建立兩個名稱相同的列。
2.6 資料型別的指定
資料庫建立的表,所有的列都必須指定資料型別,每一列都不能儲存與該列資料型別不符的資料。
四種基本的資料型別
- INTEGER型:用來指定儲存整數的列的資料型別(數字型),不能儲存小數。
- CHAR型:用來儲存定長字串,當列中儲存的字串長度達不到最大長度的時候,使用半形空格進行補足,由於會浪費儲存空間,所以一般不使用。
- VARCHAR型:用來儲存可變長度字串,可變長字串即使字元數未達到最大長度,也不會用半形空格補足。
- DATE型:用來指定儲存日期(年月日)的列的資料型別(日期型)。
2.7 約束的設定
約束是除了資料型別之外,對列中儲存的資料進行限制或者追加條件的功能。
- NOT NULL是非空約束,即該列必須輸入資料。
PRIMARY KEY
是主鍵約束,代表該列是唯一值,可以通過該列取出特定的行的資料。主鍵就是可以特定一行資料的列。
2.8 表的刪除和更新
- 刪除表(DROP TABLE 語句):
DROP TABLE < 表名 > ;
注意刪除的表是無法恢復的,只能重新插入,請執行刪除操作時要特別謹慎。
- 更新表(ALTER TABLE語句) :
- 新增列的 ALTER TABLE 語句
ALTER TABLE < 表名 > ADD COLUMN < 列的定義 >;
- 刪除列的 ALTER TABLE 語句
ALTER TABLE < 表名 > DROP COLUMN < 列名 >;
注意ALTER TABLE 語句和 DROP TABLE 語句一樣,執行之後無法恢復。
2.9 插入資料
INSERT INTO <表名> (列1, 列2, 列3, ……) VALUES (值1, 值2, 值3, ……);