Logo

新人日誌

首頁關於我部落格

新人日誌

Logo

網站會不定期發佈技術筆記、職場心得相關的內容,歡迎關注本站!

網站
首頁關於我部落格
部落格
分類系列文

© 新人日誌. All rights reserved. 2020-present.

初學者指南:深入了解 SQL 語法

最後更新:2025年3月4日資料庫

SQL(Structured Query Language)是一種用於管理和操作關聯型資料庫的標準語言。

無論你是要創建資料表、插入資料,還是進行複雜的查詢,SQL 都能夠提供強大的功能。

對於初學者來說,學習 SQL 的基礎語法將幫助你快速掌握資料庫操作的基本概念。

本文將介紹 SQL 的常見語法,從最基本的語法到進階語法,我們將一步步地構建知識,讓你對 SQL 有全面的理解。


SQL 基本語法

在開始學習 SQL 語法前,先了解 SQL 語句的結構。

以下是一個簡單的 SQL 語句範例:

指令 列名1, 列名2, ...
FROM 表名
  • 指令:執行操作的關鍵字(如 SELECT、INSERT INTO 等)。
  • 列名:指定要查詢或操作的欄位名稱。
  • 表名:指定要操作的資料表。

讓我們從 SQL 的基本語法開始,並逐漸介紹更進階的語法。


SELECT:查詢資料

SELECT 是最常用的 SQL 語法之一,主要用於查詢資料表中的數據。

基本語法:

SELECT 列名1, 列名2, ...
  • SELECT 指定要查詢的欄位。

範例:

SELECT first_name, last_name;

此語句會查詢並選擇名為 first_name 和 last_name 的欄位,但尚未指定要從哪個表查詢。


FROM:指定資料來源

FROM 用來指定資料表的來源。使用 FROM 時,你需要告訴 SQL 從哪個資料表中查詢數據。

基本語法:

SELECT 列名1, 列名2, ...
FROM 表名;

範例:

SELECT first_name, last_name
FROM employees;

這段程式碼查詢 employees 表中的 first_name 和 last_name 欄位。


WHERE:篩選資料

WHERE 用來過濾查詢結果,只返回符合條件的資料。

基本語法:

SELECT 列名1, 列名2, ...
FROM 表名
WHERE 條件;
  • WHERE 用來設定過濾條件,只有符合條件的資料才會被返回。

範例:

SELECT first_name, last_name
FROM employees
WHERE department = 'HR';

這段程式碼查詢 employees 表中屬於 HR 部門的員工。


DISTINCT:去除重複值

DISTINCT 用來刪除查詢結果中重複的記錄,讓返回的數據中每個值都唯一。

基本語法:

SELECT DISTINCT 列名1, 列名2, ...
FROM 表名;

範例:

SELECT DISTINCT department
FROM employees;

這段程式碼會查詢 employees 表中所有部門的名稱,但不會顯示重複的部門名稱。


ORDER BY:排序資料

ORDER BY 用來對查詢結果進行排序,可以根據指定的欄位升序(默認)或降序排序。

基本語法:

SELECT 列名1, 列名2, ...
FROM 表名
ORDER BY 列名 [ASC|DESC];
  • ASC:升序排序(默認)。
  • DESC:降序排序。

範例:

SELECT first_name, last_name
FROM employees
ORDER BY last_name DESC;

這段程式碼將 employees 表中的員工按姓氏降序排序。


LIMIT:限制返回的記錄數

LIMIT 用來限制查詢結果中返回的記錄數。它通常用來控制查詢結果集的大小。

基本語法:

SELECT 列名1, 列名2, ...
FROM 表名
LIMIT 數量;

範例:

SELECT first_name, last_name
FROM employees
LIMIT 5;

這段程式碼會從 employees 表中查詢前 5 個員工的 first_name 和 last_name。


插入、更新與刪除資料

INSERT INTO:插入資料

INSERT INTO 用來向資料表中插入新記錄。

基本語法:

INSERT INTO 表名 (列名1, 列名2, ...)
VALUES (值1, 值2, ...);

範例:

INSERT INTO employees (first_name, last_name, department)
VALUES ('John', 'Doe', 'IT');

這段程式碼向 employees 表中插入一條新記錄,員工 John Doe 屬於 IT 部門。


UPDATE:更新資料

UPDATE 用來更新資料表中的記錄,並搭配 WHERE 子句來控制要更新的記錄範圍。

基本語法:

UPDATE 表名
SET 列名1 = 值1, 列名2 = 值2, ...
WHERE 條件;

範例:

UPDATE employees
SET department = 'HR'
WHERE last_name = 'Doe';

這段程式碼將姓氏為 Doe 的員工的部門更新為 HR。


DELETE:刪除資料

DELETE 用來從資料表中刪除一條或多條記錄,並通常搭配 WHERE 來控制刪除範圍。

基本語法:

DELETE FROM 表名
WHERE 條件;

範例:

DELETE FROM employees
WHERE last_name = 'Doe';

這段程式碼將刪除 employees 表中所有姓氏為 Doe 的記錄。


資料表操作

CREATE TABLE:創建資料表

CREATE TABLE 用來創建一個新表,並定義表中每個欄位的資料類型。

基本語法:

CREATE TABLE 表名 (
  列名1 資料類型1,
  列名2 資料類型2,
  ...
);

範例:

CREATE TABLE employees (
  id INT PRIMARY KEY,
  first_name VARCHAR(50),
  last_name VARCHAR(50),
  department VARCHAR(50)
);

這段程式碼創建了一個名為 employees 的表,包含四個欄位:id、first_name、last_name 和 department,其中 id 是主鍵。


ALTER TABLE:修改資料表

ALTER TABLE 用來修改現有資料表的結構,比如新增、刪除或修改欄位。

基本語法:

ALTER TABLE 表名
ADD 列名 資料類型;

範例:

ALTER TABLE employees
ADD hire_date DATE;

這段程式碼為 employees 表新增了一個名為 hire_date 的欄位,類型為日期。


DROP TABLE:刪除資料表

DROP TABLE 用來刪除資料表,表中所有的記錄和結構都會被移除。

基本語法:

DROP TABLE 表名;

範例:

DROP TABLE employees;

這段程式碼刪除了 employees 表。


結語

SQL 是資料庫操作的核心語言,學習 SQL 語法可以幫助你在資料管理中變得更高效。

本文介紹了 SQL 中最基本的查詢、插入、更新、刪除資料的操作,以及一些常用的資料表管理語法。

隨著你對這些語法的熟悉,將可以更靈活地進行複雜的資料操作。


參考資料

  • W3Schools SQL Tutorial
  • MDN Web Docs – SQL
目前還沒有留言,成為第一個留言的人吧!

發表留言

留言將在審核後顯示。

資料庫

目錄

  • SQL 基本語法
  • SELECT:查詢資料
  • FROM:指定資料來源
  • WHERE:篩選資料
  • DISTINCT:去除重複值
  • ORDER BY:排序資料
  • LIMIT:限制返回的記錄數
  • 插入、更新與刪除資料
  • INSERT INTO:插入資料
  • UPDATE:更新資料
  • DELETE:刪除資料
  • 資料表操作
  • CREATE TABLE:創建資料表
  • ALTER TABLE:修改資料表
  • DROP TABLE:刪除資料表
  • 結語
  • 參考資料