14.5 SQL 總結 到目前為止,我們在Python示常式序中使用了SQL,並且涉及了許多SQL基礎。在這一小節中,我們特別審視SQL語言,並對其語法進行回顧。 雖然有很多不同的資料庫供應商,但因SQL語言是標準化的,所以我們可以在不同的資料庫系統中方便地移植。 一個關係資料庫是由表、行和列構成的 ...
14.5 SQL 總結
到目前為止,我們在Python示常式序中使用了SQL,並且涉及了許多SQL基礎。在這一小節中,我們特別審視SQL語言,並對其語法進行回顧。
雖然有很多不同的資料庫供應商,但因SQL語言是標準化的,所以我們可以在不同的資料庫系統中方便地移植。
一個關係資料庫是由表、行和列構成的。列通常擁有一種類型屬性,比如文本,數字或數據。當我們創建一張表,我們需要指定列的名稱和類型:
CREATE TABLE Tracks(title TEXT, plays INTERGER)
我們用SQL INSERT命令將行插入到表中:
INSERT INTO Tracks(title, plays) VALUES ('My Way', 15)
INSERT 語句首先指定了表名Tracks,表名之後園括弧內是你想要在新行中要設置的列titel和plays,接著就是關鍵字VALUES和對應的每個列的值。
SQL中的SELECT命令用來從資料庫中獲取行和列。SELECT語句允許你指定想獲取的列,此外還可以用WHERE子句來篩選你想要的行。同時它還允許一個可選的ORDER BY 子句來控制返回的行的排序。
SELECT * FROM Tracks WHERE title = 'My Way'
星號(*)表示讓資料庫返回匹配WHERE子句的每一行的所有列。註意,在SQL的WHERE子句中,我們使用一個等號來表示相等邏輯,而不像在Python中用兩個等號。WHERE 子句中其他邏輯操作還包括 <, >, <=, !=, 此外AND和OR,以及園括弧也可用來創建你的邏輯表達式。
你可以用ORDER BY title 請求返回的行以title列排序:
SELECT title, plays FROM Tracks ORDER BY title
如果想要刪除一行,你需要在DELETE語句中添加WHERE 子句,通過WHERE子句來決定哪些行將被刪除:
DELETE FROM Tracks WHERE title = 'My Way'
你還可以用SQL 的UPDATE語句來更新表中一行或多行:
UPDATE Tracks SET plays = 16 WHERE title = 'My Way'
UPDATE語句首先指定一張表,然後在SET關鍵字後列出想要修改的列名和值,然後是可選的WHERE子句來選擇想要更新的行。一條UPDATE語句可以修改所有匹配WHERE子句的行,在沒有指定WHERE子句時,它將更新表中的所有行。
這四個基本的SQL命令(INSERT, SELECT, UPDATE和DELETE)允許四個基本操作來創建和維護數據。
註:文章原文為Dr. Charles Severance 的 《Python for Informatics》。文中代碼用3.4版改寫,併在本機測試通過。