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

從 PHP 計數器實例學 MySQL 查詢、新增、更新核心語法

     編輯:MySQL 資料庫相關知識

最好的學習方式是「從實例出發」。本文拆解一個完整的 PHP + MySQL 計數器程式,提煉出 SELECT、INSERT、UPDATE、DELETE 四大核心操作的實戰寫法。

程式碼核心邏輯(簡化版)

<?php
$ip = $_SERVER['REMOTE_ADDR'];
$conn = mysql_connect('host','root','pass');
mysql_select_db('db',$conn);

// 1. 查詢該 IP 是否存在
$sql = "SELECT * FROM counter WHERE ip='$ip'";
$res = mysql_query($sql,$conn);
$num = mysql_num_rows($res);

// 2. 統計總訪問數
$total = mysql_num_rows(mysql_query("SELECT * FROM counter",$conn));

if ($num == 0) {
    // 首次訪問:INSERT
    $sql = "INSERT INTO counter(ip,sum,countdata) VALUES('$ip',1,'$total')";
    mysql_query($sql,$conn);
} else {
    // 回訪:UPDATE 累加
    $row = mysql_fetch_array(mysql_query("SELECT sum FROM counter WHERE ip='$ip'"));
    $sum = $row['sum'] + 1;
    mysql_query("UPDATE counter SET sum='$sum' WHERE ip='$ip'");
}
?>

四大核心 SQL 語法速查表

1. SELECT 查詢

需求SQL 範例
全表所有欄位SELECT * FROM table1;
指定欄位SELECT field1,field2 FROM table1;
統計筆數SELECT COUNT(*) FROM table2;
多表關聯SELECT t1.f1,t2.f2 FROM t1,t2 WHERE t1.id=t2.id;
條件+排序SELECT * FROM t1 WHERE f1='v1' ORDER BY f1;
分頁SELECT * FROM t1 WHERE f1='v1' ORDER BY f1 DESC LIMIT n;
模糊查詢SELECT * FROM t2 WHERE name LIKE '%$keyword%';
子查詢SELECT * FROM t1 WHERE id IN (SELECT id FROM t2...);
最大值SELECT MAX(field1) AS f1 FROM t1;

2. UPDATE 修改

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

SET 指定欄位新值,WHERE 限定範圍(省略則全表更新)。

3. INSERT 新增

-- 基本語法
INSERT INTO table1 VALUES('v1','v2',...);

-- REPLACE:若唯一鍵衝突則先刪後插
REPLACE INTO tbl_name(col1,col2,col3) VALUES('1','2','3');

4. DELETE 刪除

DELETE FROM table1 WHERE field1='v1' AND field2='v2';

無 WHERE 會清空全表,謹慎使用。

實戰提醒

  • 範例使用已棄用的 mysql_* 函數,現代專案請改用 PDO 或 mysqli(支援預處理語句,防 SQL 注入)。
  • 變數直接拼接 SQL 極度危險,務必使用參數綁定。
  • 計數器邏輯有競態條件,高併發下建議用 INSERT ... ON DUPLICATE KEY UPDATE 或 Redis 原子計數。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved