首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

JDBC SQL 基礎語法速查:CRUD 核心指令完整指南

     編輯:Java 程式設計入門

結構化查詢語言(SQL)是關聯式資料庫的標準操作語言。掌握核心 SQL 語法是使用 JDBC 進行資料庫開發的前提。本文整理建立、查詢、更新、刪除(CRUD)四大核心操作的標準語法與範例。

資料庫與資料表管理

建立資料庫

CREATE DATABASE database_name;

範例:CREATE DATABASE EMP;

刪除資料庫

DROP DATABASE database_name;

警告:執行後資料永久遺失,需具備管理員權限。

建立資料表

CREATE TABLE table_name (
    column_name data_type [constraints],
    column_name data_type [constraints],
    ...
);

範例:

CREATE TABLE Employees (
    id INT NOT NULL,
    age INT NOT NULL,
    first VARCHAR(255),
    last VARCHAR(255),
    PRIMARY KEY (id)
);

刪除資料表

DROP TABLE table_name;

範例:DROP TABLE Employees;

資料操作語言 (DML)

插入資料 (INSERT)

INSERT INTO table_name VALUES (value1, value2, ...);

範例:INSERT INTO Employees VALUES (100, 18, 'Zara', 'Ali');

最佳實務:明確指定欄位名稱,避免結構變更導致錯誤:

INSERT INTO Employees (id, age, first, last) VALUES (101, 25, 'Mahnaz', 'Fatma');

查詢資料 (SELECT)

SELECT column1, column2, ...
FROM table_name
WHERE conditions;

常用比較運算子:=, !=, <, >, <=, >=, BETWEEN, LIKE, IN, IS NULL

範例:

-- 依主鍵查詢
SELECT first, last, age FROM Employees WHERE id = 100;

-- 模糊查詢
SELECT first, last, age FROM Employees WHERE first LIKE '%Zara%';

-- 範圍查詢
SELECT * FROM Employees WHERE age BETWEEN 20 AND 30;

更新資料 (UPDATE)

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE conditions;

範例:UPDATE Employees SET age = 20 WHERE id = 100;

關鍵提醒:務必加 WHERE 條件,否則會更新整張表所有列!

刪除資料 (DELETE)

DELETE FROM table_name WHERE conditions;

範例:DELETE FROM Employees WHERE id = 100;

同樣警告:無 WHERE 條件將清空整張表資料。

進階查詢技巧

排序與分頁

-- 排序
SELECT * FROM Employees ORDER BY age DESC, first ASC;

-- 分頁 (MySQL/PostgreSQL)
SELECT * FROM Employees LIMIT 10 OFFSET 20;

-- 分頁 (SQL Server 2012+)
SELECT * FROM Employees ORDER BY id OFFSET 20 ROWS FETCH NEXT 10 ROWS ONLY;

彙總函數

SELECT COUNT(*), AVG(age), MAX(age), MIN(age) FROM Employees;

分組查詢

SELECT department, COUNT(*) as emp_count 
FROM Employees 
GROUP BY department 
HAVING COUNT(*) > 5;

JDBC 整合關鍵點

操作Statement 方法回傳值
SELECTexecuteQuery()ResultSet
INSERT/UPDATE/DELETEexecuteUpdate()int (影響列數)
DDL (CREATE/DROP)execute()boolean

安全性最佳實務:PreparedStatement

String sql = "SELECT * FROM Employees WHERE id = ? AND age > ?";
try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
    pstmt.setInt(1, 100);
    pstmt.setInt(2, 18);
    try (ResultSet rs = pstmt.executeQuery()) {
        // 處理結果
    }
}

優勢:防止 SQL 注入、效能優化(預編譯)、型別安全、可讀性佳。

常見資料型別對照

SQL 標準MySQLPostgreSQLJava 對應
INTEGERINTINTEGERint / Integer
VARCHAR(n)VARCHAR(n)VARCHAR(n)String
DATEDATEDATEjava.sql.Date / LocalDate
TIMESTAMPDATETIMETIMESTAMPjava.sql.Timestamp / LocalDateTime
BOOLEANTINYINT(1)BOOLEANboolean / Boolean
BLOBBLOBBYTEAbyte[] / Blob
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved