首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 查詢語句實戰入門:從計數器範例學 SELECT/INSERT/UPDATE/DELETE

     編輯:MySQL 資料庫相關知識

實戰案例:IP 訪問計數器(PHP + MySQL)

功能:記錄每個 IP 訪問次數、全站總訪問量(不重複計算刷新)。

核心邏輯

  1. 取得客戶端 IP:getenv("REMOTE_ADDR")
  2. 查詢該 IP 是否存在:SELECT * FROM counter WHERE ip = '$ip'
  3. 不存在 → INSERT 新記錄(計數=1)、總量+1
  4. 存在 → UPDATE 該 IP 計數+1
  5. 顯示總量與個人計數(圖片數字)

四大核心 SQL 操作詳解

1. 查詢 (SELECT)

-- 基礎
SELECT * FROM table1;
SELECT field1, field2 FROM table1;

-- 條件
SELECT * FROM table1 WHERE field1 = 'val1' AND field2 = 'val2' ORDER BY field1;
SELECT * FROM table1 WHERE field1 = 'val1' ORDER BY field1 DESC LIMIT n;

-- 模糊
SELECT * FROM table2 WHERE name LIKE '%$keyword%';

-- 子查詢
SELECT * FROM table1 WHERE id IN (SELECT id FROM table2 ...);

-- 聚合
SELECT MAX(field1) AS field1 FROM table1;

2. 修改 (UPDATE)

UPDATE table1 SET field1 = 'v1', field2 = 'v2' WHERE field3 = 'v3';

無 WHERE 更新全表(極危險)。

3. 新增 (INSERT)

-- 明確欄位
INSERT INTO table1 VALUES ('v1', 'v2', ...);

-- REPLACE:主鍵/唯一鍵衝突時刪除舊行再插入
REPLACE INTO tbl_name (c1, c2, c3) VALUES ('1', '2', '3');

4. 刪除 (DELETE)

DELETE FROM table1 WHERE field1 = 'v1' AND field2 = 'v2';
DELETE FROM table1;  -- 清空全表

PHP 關鍵 API 對照

函數用途
mysql_connect建立連線
mysql_select_db選擇資料庫
mysql_query執行 SQL
mysql_num_rows結果集行數
mysql_fetch_array取得關聯/數值陣列
mysql_error取得錯誤訊息
mysql_close關閉連線

現代化建議

  • 棄用 mysql_* 函數(PHP 7.0 移除),改用 PDO 或 mysqli(支援參數化、預處理、交易)
  • 使用參數化查詢:$stmt = $pdo->prepare("SELECT * FROM counter WHERE ip = ?"); $stmt->execute([$ip]);
  • 連線採用連線池、例外處理包裝
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved