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 中最基本的查詢、插入、更新、刪除資料的操作,以及一些常用的資料表管理語法。
隨著你對這些語法的熟悉,將可以更靈活地進行複雜的資料操作。