iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0
佛心分享-IT 人自學之術

Python學習馬拉松:30天挑戰系列 第 18

Day18. 基本結構化查詢語言 Basic Structured Query Language

  • 分享至 

  • xImage
  •  
  • 關聯式資料庫(Relational Databases):
    -是一種透過將資料儲存在表格中(表格由行和列組成)來建模資料的資料庫。
    -關聯式資料庫的強大之處在於它能夠高效地從這些表格中擷取資料,特別是在涉及多個表格以及表格之間的關係的查詢中。

  • 術語解釋:
    -資料庫 (Database): 這是一個集合,包含了許多個表格。可以想像成一個大型的電子檔案櫃,裡面有很多個抽屜,每個抽屜就是一個表格。
    ◆ 資料庫:最大的容器,包含很多表格。
    -關係 (Relation) 或 表格 (Table): 這就像是抽屜裡的資料夾,裡面存放著有組織的資料。一個表格包含多個欄位和記錄。
    ◆ 表格:就像一個Excel表格,有行有列。
    -元組 (Tuple) 或 行 (Row): 這代表表格中的一行資料,通常用來表示一個實體,比如一個人、一首歌或一個產品。
    ◆ 行:代表一條記錄。
    -屬性 (Attribute) 或 欄位 (Column) 或欄 (Field): 這代表表格中的一列資料,也就是元組的一個屬性。例如,在一個「學生」表格中,「姓名」、「學號」、「出生日期」都是屬性。
    ◆ 列:代表一個欄位,也就是這條記錄的一個屬性。

  • SQL(Structured Query Language,結構化查詢語言)簡單介紹:
    -是一種專門用於操作和管理關係型資料庫的標準化語言。簡單來說,就是我們用來與資料庫溝通的語言。
    -SQL可以做的:
    ◆ 建立表格 (Create a table): 就像在資料庫中創建一個新的儲存空間,指定這個表格的欄位名稱和資料型態。
    ◆ 查詢資料 (Retrieve some data): 從資料庫中提取出需要的資料,像是查詢所有客戶的姓名、地址等資訊。
    ◆ 插入資料 (Insert data): 將新的資料添加到資料庫中。
    ◆ 刪除資料 (Delete data): 從資料庫中移除不需要的資料。

  • 常見的資料庫系統:
    -三大主流資料庫管理系統:
    ◆ Oracle:大型的商業級企業級資料庫,可高度客製化。
    ◆ MySQL:相對簡單,但速度快且可擴展,屬於商業開放源碼。
    ◆ SQL Server:來自微軟,功能完善,也包含了 Access。
    -其他小型開放源碼專案:
    ◆ HSQL、SQLite、PostgreSQL 等。

  • SQL Insert指令:
    -Insert指令用於將 一行新的資料 插入到一個 既有的資料表 中。
    -語法結構:

INSERT INTO 表名稱 (欄位1, 欄位2, ...)
VALUES (值1, 值2, ...);

-舉例:
https://ithelp.ithome.com.tw/upload/images/20241002/20168364JMg2K25624.jpg

  • SQL Delete指令:
    -Delete指令用於 刪除表格中符合特定條件的行。
    -語法結構:
DELETE FROM 表名稱
WHERE 條件;

-舉例:
https://ithelp.ithome.com.tw/upload/images/20241002/20168364JdaM9HxugP.jpg

  • SQL Update指令:
    -Update指令用於 修改表格中既有的資料。
    -語法結構:
UPDATE 表名稱
SET 欄位1 = 新值1, 欄位2 = 新值2, ...
WHERE 條件;

-舉例:
https://ithelp.ithome.com.tw/upload/images/20241002/20168364Ee18HetOk8.png

  • SQL Select指令:
    -Select 指令用於 查詢資料庫中的資料,並將符合條件的資料取出。
    -語法結構:
SELECT column1, column2, ...
FROM table_name
WHERE condition;

-舉例:
https://ithelp.ithome.com.tw/upload/images/20241002/20168364EqtIbcP5te.png

使用ORDER BY排序:
-ORDER BY 子句用於對查詢結果進行排序。可以指定一個或多個欄位,並決定是按照升序還是降序排列。
-舉例:
https://ithelp.ithome.com.tw/upload/images/20241002/201683649LY2exp18t.png

以上圖片皆出自於Coursera上的課程「Python for Everybody」來自University of Michigan。


上一篇
Day17. 物件導向Object Oriented Python
下一篇
Day19. 數據模型和關聯 SQL (Data Models and Relational SQL)
系列文
Python學習馬拉松:30天挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言