UPDATE 更新
UPDATE SET 語法用於修改更新數據表中的數據。
語法:
UPDATE tb_name SET column1 = new_value1,column2 = new_value2,… WHERE definition
該語法將數據表中符合 WHERE 條件的記錄中的 column1 的值更新為 new_value1,column2 的值更新為 new_value2 ,以此類推。如果省略 WHERE 條件,則會將表中所有記錄的 column 值進行更新。
例子:
<?php $conn = @mysql_connect("localhost","root","root123"); if (!$conn){ die("連接數據庫失敗:" . mysql_error()); } mysql_select_db("test", $conn); mysql_query("set names 'gbk'"); $sql = "UPDATE user SET email = '[email protected]' WHERE username = '小明'"; if(mysql_query($sql,$conn)){ echo "更新數據成功!"; } else { echo "更新數據失敗:".mysql_error(); } ?>
更新前數據:
例子將 user 表中 username 為 小明 的 email 修改為 [email protected] 。
更新後數據:
UPDATE 表達式
UPDATE 語法允許 SET 後面跟表達式。
例子 1 :
UPDATE article SET pv = pv+1 WHERE id = 123
該例子讓 id 為 123 的文章在被點擊閱讀的時候點擊量加 1 。
例子 2 :
UPDATE persondata SET age = age*2, age = age+1
該例子 SET 後面跟了兩個表達式:age = age*2(年齡加倍),age = age+1(再加 1 )。這種多個表達式的情況,是按照從左往右順序執行的。
Delete From 刪除數據
DELETE 刪除
DELETE FROM 語法用於刪除數據表的數據記錄。
語法:
DELETE FROM tb_name WHERE definition
該語法將數據表中符合 WHERE 條件的數據記錄刪除。如果省略WHERE條件,則會將表中記錄全部刪除。
例子:
<?php $conn = @mysql_connect("localhost","root","root123"); if (!$conn){ die("連接數據庫失敗:" . mysql_error()); } mysql_select_db("test", $conn); mysql_query("set names 'gbk'"); $sql = "DELETE FROM user WHERE username = '小王'"; if(mysql_query($sql,$conn)){ echo "刪除 ".mysql_affected_rows()." 條數據記錄。"; } else { exit("刪除數據失敗:".mysql_error()); } ?>
刪除數據成功,浏覽器輸出:
刪除 1 條數據記錄。
刪除前數據:
刪除後數據:
如果沒有符合條件的記錄被刪除,但 mysql_query() 仍然返回 TRUE (除非 SQL 語法錯誤)。因此要精確判斷數據記錄是否被刪除,需要調用 mysql_affected_rows() 函數(該函數返回最近一次 INSERT,UPDATE 或 DELETE 查詢所影響的記錄行數)。
提示
如果只是想刪除某條記錄的某個字段數據,請使用 UPDATE SET 語法將其置為空。