一、數據庫定義語言 DDL
在關系型數據庫中,數據庫中的表 Table、視圖 View、索引 Index、關系 Relationship 和觸發器 Trigger 等等,構成了數據庫的架構 Schema。 在 SQL 語句中,專門有一些語句用來定義數據庫架構,這些語句被稱為“數據庫定義語言”,即 DDL。
SQLite 數據庫引擎支持下列三種 DDL 語句:
其中,CREATE 語句用來創建表 Table、視圖 View、索引 Index、關系 Relationship 和觸發器 Trigger, DROP語句用來刪除表 Table、視圖 View、索引 Index、關系 Relationship 和觸發器 Trigger, ALTER TABLE 語句用來改變表的結構。
今天這一篇只涉及到表的相關內容,視圖、觸發器等到后面再講。
二、SQLite 中的數據類型
SQLite 數據庫中的數據一般由以下幾種常用的數據類型組成:
NULL - 空值
INTEGER - 有符號整數
REAL - 浮點數
TEXT - 文本字符串
BLOB - 二進制數據,如圖片、聲音等等
SQLite 也可以接受其他數據類型。
三、創建表 CREATE TABLE
首先,創建一個 test.db 數據庫并進入 SQLite 命令行環境,還記得怎么做嗎?
向上面這樣,我們就在終端中創建了一個 test.db 數據庫,并且通過 .tables 命令查詢數據庫中的表,結果沒有任何返回,因為數據庫本來就是空的嘛。
下面我們創建一個 Student 表,其中包含 Id、Name、Age 等字段.
向上面這樣,一個 Students 表就被建立了,這回再運行 .tables 命令就有響應了,系統告訴我們數據庫中現在有一個 Students 表, 運行 .schema 命令,返回了我們創建這個表的 SQL 命令。
四、修改表 ALTER TABLE
SQLite 僅僅支持 ALTER TABLE 語句的一部分功能,我們可以用 ALTER TABLE 語句來更改一個表的名字,也可向表中增加一個字段(列),但是我們不能刪除一個已經存在的字段,或者更改一個已經存在的字段的名稱、數據類型、限定符等等。
改變表名 - ALTER TABLE 舊表名 RENAME TO 新表名
增加一列 - ALTER TABLE 表名 ADD COLUMN 列名 數據類型 限定符
下面我們來演示一下,將前面的 Students 表的名字改為 Teachers
原來數據庫中只有一個 Students 表,改名以后再運行 .tables 命令,發現 Students 表已經沒了,現在變成了 Teachers 表。
下面改變 Teachers 表的結構,增加一個 Sex 列
五、刪除表 DROP TABLE
刪除一個表很簡單,只要給出表名即可
刪除表 - DROP TABLE 表名
下面,我們將 test.db 中的 Teachers 表刪除
刪除 Teachers 表后再運行 .tables 命令,發現數據庫已經空了。
六、后續內容
其實創建一個表遠沒有這么簡單,表的每一列可以有很多限定符,比如主列、非空、限制、默認值、唯一、鍵等等,這些內容留到下一篇吧
新聞熱點
疑難解答