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 条数据记录。
uid | username | password | regdate | |
---|---|---|---|---|
1 | admin | b7e591c246d010bb2ccd77d52490c85e | admin@520mg.com | 1277992339 |
2 | 小明 | a193686a53e4de85ee3f2ff0576adf01 | xiao@163.com | 1278063917 |
3 | Jack | 0193686a35e4de85ee3f2ff0567adf49 | jack@gmail.com | 1278061380 |
4 | 小王 | 0193686a35e4de85ee3f2ff0567adf49 | 12345@163.com | 1278061380 |
uid | username | password | regdate | |
---|---|---|---|---|
1 | admin | b7e591c246d010bb2ccd77d52490c85e | admin@520mg.com | 1277992339 |
2 | 小明 | a193686a53e4de85ee3f2ff0576adf01 | xiaoming@163.com | 1278063917 |
3 | Jack | 0193686a35e4de85ee3f2ff0567adf49 | jack@gmail.com | 1278061380 |
如果没有符合条件的记录被删除,但 mysql_query() 仍然返回 TRUE (除非 SQL 语法错误)。因此要精确判断数据记录是否被删除,需要调用 mysql_affected_rows() 函数(该函数返回最近一次 INSERT,UPDATE 或 DELETE 查询所影响的记录行数)。
如果只是想删除某条记录的某个字段数据,请使用 UPDATE SET 语法将其置为空。