MySQL为我们提供了delete和truncate语句来删除数据。
站在用户的角度思考问题,与客户深入沟通,找到乌苏网站设计与乌苏网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都网站建设、企业官网、英文网站、手机端网站、网站推广、域名与空间、虚拟空间、企业邮箱。业务覆盖乌苏地区。
delete 语句的定义:
删除数据的时候用的大多都是 delete 语句。现在让我们来看一下 delete语句的定义。
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
[WHERE where_definition]
[ORDER BY ...]
[LIMIT row_count]
delete from friends where user_name = 'simaopig';
delete 注意事项:
从语法结构中,我们就可以看出,和 update 语法一样,我们是可以省略 where 子句的。不过这是一个很危险的行为。因为如果不指定 where 子句,delete 将删除表中所有的记录,而且是立即删除.
truncate 语句的简单说明:
这个语句之前我也没有接触过,也没有使用过。因为一般情况下,删除数据大家都在使用delete语句。其实这个truncate 命令很简单,它的意思是:删除表的所有记录。相当于 delete 语句不写 where 子句一样。其语法结构为:
TRUNCATE [TABLE] tbl_name
这里简单的给出个示例,我想删除 friends 表中所有的记录,可以使用如下语句:
truncate table friends;
truncate 和 delete的效率问题:
如果想要删除表的所有数据,truncate语句要比 delete 语句快。因为 truncate 删除了表,然后根据表结构重新建立它,而 delete 删除的是记录,并没有尝试去修改表。这也是为什么当向一个使用 delete 清空的表插入数据时,MySQL 会记住前面产生的AUTOINCREMENT序列,并且继续利用它对AUTOINCREMENT字段编号。而truncate删除表后,表是从1开始为autoincrement字段编号。
不过truncate命令快规快,却不像delete命令那样对事务处理是安全的。因此,如果我们想要执行truncate删除的表正在进行事务处理,这个命令就会产生退出并产生错误信息。
没有索引,那么可以用like语句来匹配需要删除的行:
delete from upload where id like 'QQ截图%' limit 1
在php中也是执行mysql语句,没有用框架的话,一般上需要先写与mysql套接语句,下面是简单的样例:
?php
$localhost ='localhost';//连接服务器,大多情况下用localhost就可以了,
$user ='root';//mysql登录帐号
$upwd ='123456';//mysql服务器的登陆密码
$db = 'upload';//你的mysql数据库
$charset = 'utf8';//数据库字符集
$conn = mysql_connect($localhost,$user,$upwd) or die(mysql_error().'mysql数据连接失败');
mysql_select_db($db,$conn) or die('数据库不存在'.mysql_error());
mysql_query("set names '$charset'");//设置数据库字符集
mysql_query("delete from upload where id like 'QQ截图%' limit 1");//删除指定条件的数据。
一、PHP操作MySql数据库
新增数据
?php
$query
=
"INSERT
INTO
grade
(name,email,point,regdate)
VALUE
('
李三','yc60.com@gmail.com',,NOW())"
;
@mysql_query($query)
or
die(
'添加数据出错:'
.mysql_error());
?
修改数据
?php
$query
=
"UPDATE
grade
SET
name='小可爱'
WHERE
id=6"
;
@mysql_query($query)
or
die(
'修改出错:'
.mysql_error());
?
删除数据
?php
$query
=
"DELETE
FROM
grade
WHERE
id=6";
@mysql_query($query)
or
die(
'删除错误:'
.mysql_error());
?
显示数据
?php
$query
=
"SELECT
id,name,email,point
FROM
grade";
$result
=
@mysql_query($query)
or
die(
'查询语句出错:'
.mysql_error());
while
(!!
$row
=
mysql_fetch_array($result))
{
echo
$row[
'id'
].
'----'
.$row['name'
].'----'
.$row
['email'
].
'----'
.$row['point'
];
echo
'br
/
';
}
?
二、其他常用函数
mysql_f
etch_row()
:从结果集中取得一行作为枚举数组
mysql_f
etch_assoc()
:
从结果集中取得一行作为关联数组
mysql_f
etch_array()
:
从结果集中取得一行作为关联数组,或数字数组,或二者兼有
mysql_f
etch_lengths
()
:
取得结果集中每个输出的长度
mysql_f
ield_name():
取得结果中指定字段的字段名
mysql_num_rows():
取得结果集中行的数目
mysql_num_f
ields():取得结果集中字段的数目
mysql_get_client_inf
o()
:
取得
MySQL
客户端信息
mysql_get_host_info():
取得
MySQL
主机信息
mysql_get_proto_info():
取得
MySQL
协议信息
mysql_get_server_inf
o()
:
取得
MySQL
服务器信息
?php
//在删除文件夹中文件时候如果删除整个文件夹必须是在文件夹中没有文件的情况下才可以删除此文件夹所以首先要检查文件夹中是否有文件,如果有文件先循环除文件个数及名称先删除然后才能删除此文件夹,要是只删除一个图片或一个文本文件那么就只用unlink()这个函数就可以解决了以下是说明希望能帮到你
//opendir('imag/a')返回所有在文件夹中的文件
//readdir($handle)返回文件名称得到文件名就可以删除了
$sql="select
*
from
product
where
id=1";
$r=mysql_query($sql);
$r['psmall'];//得到图片路径
mysql_query("delete
from
product
where
id=1");//删除商品
//如果要单独删除这个图片直接用unlink($r['psmall']);
//如果要把这件商品下关联的商品图片也删除用下面代码
$imgurl="upload";//或者是
如下
//$imgurl="upload/商品文件夹";//删除商品文件夹下所有商品图片
/*if
($handle
=
opendir($imgurl))
{
while
(false
!==
($file
=
readdir($handle)))
{
if
($file
!=
"."
$file
!=
"..")
{
echo
"$file
";
unlink($imgurl."/$file");
}
}
closedir($handle);
}*/
?