MySQL為我們提供了delete和truncate語句來刪除數(shù)據(jù)。
站在用戶的角度思考問題,與客戶深入溝通,找到烏蘇網(wǎng)站設(shè)計(jì)與烏蘇網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋烏蘇地區(qū)。
delete 語句的定義:
刪除數(shù)據(jù)的時(shí)候用的大多都是 delete 語句?,F(xiàn)在讓我們來看一下 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 注意事項(xiàng):
從語法結(jié)構(gòu)中,我們就可以看出,和 update 語法一樣,我們是可以省略 where 子句的。不過這是一個(gè)很危險(xiǎn)的行為。因?yàn)槿绻恢付?where 子句,delete 將刪除表中所有的記錄,而且是立即刪除.
truncate 語句的簡(jiǎn)單說明:
這個(gè)語句之前我也沒有接觸過,也沒有使用過。因?yàn)橐话闱闆r下,刪除數(shù)據(jù)大家都在使用delete語句。其實(shí)這個(gè)truncate 命令很簡(jiǎn)單,它的意思是:刪除表的所有記錄。相當(dāng)于 delete 語句不寫 where 子句一樣。其語法結(jié)構(gòu)為:
TRUNCATE?[TABLE]?tbl_name
這里簡(jiǎn)單的給出個(gè)示例,我想刪除 friends 表中所有的記錄,可以使用如下語句:
truncate?table?friends;
truncate 和 delete的效率問題:
如果想要?jiǎng)h除表的所有數(shù)據(jù),truncate語句要比 delete 語句快。因?yàn)?truncate 刪除了表,然后根據(jù)表結(jié)構(gòu)重新建立它,而 delete 刪除的是記錄,并沒有嘗試去修改表。這也是為什么當(dāng)向一個(gè)使用 delete 清空的表插入數(shù)據(jù)時(shí),MySQL 會(huì)記住前面產(chǎn)生的AUTOINCREMENT序列,并且繼續(xù)利用它對(duì)AUTOINCREMENT字段編號(hào)。而truncate刪除表后,表是從1開始為autoincrement字段編號(hào)。
不過truncate命令快規(guī)快,卻不像delete命令那樣對(duì)事務(wù)處理是安全的。因此,如果我們想要執(zhí)行truncate刪除的表正在進(jìn)行事務(wù)處理,這個(gè)命令就會(huì)產(chǎn)生退出并產(chǎn)生錯(cuò)誤信息。
沒有索引,那么可以用like語句來匹配需要?jiǎng)h除的行:
delete?from?upload?where?id?like?'QQ截圖%'?limit?1
在php中也是執(zhí)行mysql語句,沒有用框架的話,一般上需要先寫與mysql套接語句,下面是簡(jiǎn)單的樣例:
?php
$localhost?='localhost';//連接服務(wù)器,大多情況下用localhost就可以了,
$user?='root';//mysql登錄帳號(hào)
$upwd?='123456';//mysql服務(wù)器的登陸密碼
$db?=?'upload';//你的mysql數(shù)據(jù)庫(kù)
$charset?=?'utf8';//數(shù)據(jù)庫(kù)字符集
$conn?=?mysql_connect($localhost,$user,$upwd)?or?die(mysql_error().'mysql數(shù)據(jù)連接失敗');
mysql_select_db($db,$conn)?or?die('數(shù)據(jù)庫(kù)不存在'.mysql_error());
mysql_query("set?names?'$charset'");//設(shè)置數(shù)據(jù)庫(kù)字符集
mysql_query("delete?from?upload?where?id?like?'QQ截圖%'?limit?1");//刪除指定條件的數(shù)據(jù)。
一、PHP操作MySql數(shù)據(jù)庫(kù)
新增數(shù)據(jù)
?php
$query
=
"INSERT
INTO
grade
(name,email,point,regdate)
VALUE
('
李三','yc60.com@gmail.com',,NOW())"
;
@mysql_query($query)
or
die(
'添加數(shù)據(jù)出錯(cuò):'
.mysql_error());
?
修改數(shù)據(jù)
?php
$query
=
"UPDATE
grade
SET
name='小可愛'
WHERE
id=6"
;
@mysql_query($query)
or
die(
'修改出錯(cuò):'
.mysql_error());
?
刪除數(shù)據(jù)
?php
$query
=
"DELETE
FROM
grade
WHERE
id=6";
@mysql_query($query)
or
die(
'刪除錯(cuò)誤:'
.mysql_error());
?
顯示數(shù)據(jù)
?php
$query
=
"SELECT
id,name,email,point
FROM
grade";
$result
=
@mysql_query($query)
or
die(
'查詢語句出錯(cuò):'
.mysql_error());
while
(!!
$row
=
mysql_fetch_array($result))
{
echo
$row[
'id'
].
'----'
.$row['name'
].'----'
.$row
['email'
].
'----'
.$row['point'
];
echo
'br
/
';
}
?
二、其他常用函數(shù)
mysql_f
etch_row()
:從結(jié)果集中取得一行作為枚舉數(shù)組
mysql_f
etch_assoc()
:
從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組
mysql_f
etch_array()
:
從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,或二者兼有
mysql_f
etch_lengths
()
:
取得結(jié)果集中每個(gè)輸出的長(zhǎng)度
mysql_f
ield_name():
取得結(jié)果中指定字段的字段名
mysql_num_rows():
取得結(jié)果集中行的數(shù)目
mysql_num_f
ields():取得結(jié)果集中字段的數(shù)目
mysql_get_client_inf
o()
:
取得
MySQL
客戶端信息
mysql_get_host_info():
取得
MySQL
主機(jī)信息
mysql_get_proto_info():
取得
MySQL
協(xié)議信息
mysql_get_server_inf
o()
:
取得
MySQL
服務(wù)器信息
?php
//在刪除文件夾中文件時(shí)候如果刪除整個(gè)文件夾必須是在文件夾中沒有文件的情況下才可以刪除此文件夾所以首先要檢查文件夾中是否有文件,如果有文件先循環(huán)除文件個(gè)數(shù)及名稱先刪除然后才能刪除此文件夾,要是只刪除一個(gè)圖片或一個(gè)文本文件那么就只用unlink()這個(gè)函數(shù)就可以解決了以下是說明希望能幫到你
//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");//刪除商品
//如果要單獨(dú)刪除這個(gè)圖片直接用unlink($r['psmall']);
//如果要把這件商品下關(guān)聯(lián)的商品圖片也刪除用下面代碼
$imgurl="upload";//或者是
如下
//$imgurl="upload/商品文件夾";//刪除商品文件夾下所有商品圖片
/*if
($handle
=
opendir($imgurl))
{
while
(false
!==
($file
=
readdir($handle)))
{
if
($file
!=
"."
$file
!=
"..")
{
echo
"$file
";
unlink($imgurl."/$file");
}
}
closedir($handle);
}*/
?