刪除一條記錄簡單方法,應(yīng)該說是最簡單的入門級的了.
創(chuàng)新互聯(lián)公司客戶idc服務(wù)中心,提供成都服務(wù)器托管、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價的產(chǎn)品以及開放、透明、穩(wěn)定、高性價比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時標(biāo)準(zhǔn)級技術(shù)保障。
mysqldelete from 表名 where id=1;
query ok,
這樣就可以刪除了,
如果你和php教程 mysql配置只要利用php連接到數(shù)據(jù)庫教程再用php mysql_query("delete from 表名 where id=1");就可以刪除了。
?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("delete from person where lastname='griffin'");
mysql_close($con);
?
下面看一下關(guān)于mysql delete語法.
刪除數(shù)據(jù)庫中的數(shù)據(jù)
delete from 語句用于從數(shù)據(jù)庫表中刪除記錄。
語法
delete from table_name
where column_name = some_value
注釋:sql 對大小寫不敏感。delete from 與 delete from 等效。
為了讓 php 執(zhí)行上面的語句,我們必須使用 mysql_query( 函數(shù)。該函數(shù)用于向 sql 連接發(fā)送查詢和命令
//刪除是記錄是用sql語句,比如 delete from xxx(table) where id=1 刪除 id=1的記錄
//數(shù)據(jù)庫操作后,手動關(guān)閉是好得習(xí)慣,不手動關(guān)閉,php程序也會最后自動關(guān)閉
delete from 表名;
truncate table 表名;
不帶where參數(shù)的delete語句可以刪除mysql表中所有內(nèi)容,使用truncate table也可以清空mysql表中所有內(nèi)容。效率上truncate比delete快,但truncate刪除后不記錄mysql日志,不可以恢復(fù)數(shù)據(jù)。
delete的效果有點(diǎn)像將mysql表中所有記錄一條一條刪除到刪完,而truncate相當(dāng)于保留mysql表的結(jié)構(gòu),重新創(chuàng)建了這個表,所有的狀態(tài)都相當(dāng)于新表。
PHP
PHP,一個嵌套的縮寫名稱,是英文超級文本預(yù)處理語言(PHP:Hypertext?Preprocessor)的縮寫。PHP?是一種?HTML?內(nèi)嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運(yùn)用。
1、drop (刪除表):刪除內(nèi)容和定義,釋放空間。簡單來說就是把整個表去掉.以后要新增數(shù)據(jù)是不可能的,除非新增一個表。
drop語句將刪除表的結(jié)構(gòu)被依賴的約束(constrain),觸發(fā)器(trigger)索引(index);依賴于該表的存儲過程/函數(shù)將被保留,但其狀態(tài)會變?yōu)椋篿nvalid。
2、truncate (清空表中的數(shù)據(jù)):刪除內(nèi)容、釋放空間但不刪除定義(保留表的數(shù)據(jù)結(jié)構(gòu))。與drop不同的是,只是清空表數(shù)據(jù)而已。
注意:truncate 不能刪除行數(shù)據(jù),要刪就要把表清空。
3、delete (刪除表中的數(shù)據(jù)):delete 語句用于刪除表中的行。delete語句執(zhí)行刪除的過程是每次從表中刪除一行,并且同時將該行的刪除操作作為事務(wù)記錄在日志中保存以便進(jìn)行進(jìn)行回滾操作。
truncate與不帶where的delete :只刪除數(shù)據(jù),而不刪除表的結(jié)構(gòu)(定義)
4、truncate table 刪除表中的所有行,但表結(jié)構(gòu)及其列、約束、索引等保持不變。新行標(biāo)識所用的計數(shù)值重置為該列的種子。如果想保留標(biāo)識計數(shù)值,請改用delete。如果要刪除表定義及其數(shù)據(jù),請使用?drop table 語句。
5、對于由foreign key約束引用的表,不能使用truncate table ,而應(yīng)使用不帶where子句的delete語句。由于truncate table 記錄在日志中,所以它不能激活觸發(fā)器。
6、執(zhí)行速度,一般來說: drop truncate delete。
7、delete語句是數(shù)據(jù)庫操作語言(dml),這個操作會放到 rollback segement 中,事務(wù)提交之后才生效;如果有相應(yīng)的 trigger,執(zhí)行的時候?qū)⒈挥|發(fā)。
擴(kuò)展資料
例子:
1、查看數(shù)據(jù)庫
2、切換數(shù)據(jù)庫
3、查看數(shù)據(jù)庫中已創(chuàng)建的表
1、drop
命令格式:
drop
database
;
例如:刪除名為
RUNOOB
的數(shù)據(jù)庫:
mysql
drop
database
RUNOOB;
2、mysqladmin
刪除數(shù)據(jù)庫
使用
mysql mysqladmin 命令在終端來執(zhí)行刪除命令。
實(shí)例:刪除數(shù)據(jù)庫
RUNOOB(該數(shù)據(jù)庫在前一章節(jié)已創(chuàng)建):
[root@host]#
mysqladmin
-u
root
-p
drop
RUNOOB
Enter
password:******
3、用PHP腳本刪除數(shù)據(jù)庫
PHP使用
mysqli_query
函數(shù)來創(chuàng)建或者刪除
MySQL
數(shù)據(jù)庫。
該函數(shù)有兩個參數(shù),在執(zhí)行成功時返回
TRUE,否則返回
FALSE。
語法:mysqli_query(connection,query,resultmode);
擴(kuò)展資料:
實(shí)例
以下實(shí)例演示了使用PHP
mysqli_query函數(shù)來刪除數(shù)據(jù)庫:
刪除數(shù)據(jù)庫
?php
$dbhost
=
'localhost:3306';
//
mysql服務(wù)器主機(jī)地址
$dbuser
=
'root';
//
mysql用戶名$dbpass
=
'123456';
//
mysql用戶名密
$conn
=
mysqli_connect($dbhost,
$dbuser,
$dbpass);
if(!
$conn
){
die('連接失敗:
'
.
mysqli_error($conn));
}
echo
'連接成功br
/';
$sql
=
'DROP
DATABASE
RUNOOB';
$retval
=
mysqli_query(
$conn,
$sql
);if(!
$retval
)
{
die('刪除數(shù)據(jù)庫失敗:
'
.
mysqli_error($conn));
}
echo
"數(shù)據(jù)庫
RUNOOB
刪除成功\n";
mysqli_close($conn);
?
MySQL為我們提供了delete和truncate語句來刪除數(shù)據(jù)。
delete 語句的定義:
刪除數(shù)據(jù)的時候用的大多都是 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 注意事項:
從語法結(jié)構(gòu)中,我們就可以看出,和 update 語法一樣,我們是可以省略 where 子句的。不過這是一個很危險的行為。因?yàn)槿绻恢付?where 子句,delete 將刪除表中所有的記錄,而且是立即刪除.
truncate 語句的簡單說明:
這個語句之前我也沒有接觸過,也沒有使用過。因?yàn)橐话闱闆r下,刪除數(shù)據(jù)大家都在使用delete語句。其實(shí)這個truncate 命令很簡單,它的意思是:刪除表的所有記錄。相當(dāng)于 delete 語句不寫 where 子句一樣。其語法結(jié)構(gòu)為:
TRUNCATE?[TABLE]?tbl_name
這里簡單的給出個示例,我想刪除 friends 表中所有的記錄,可以使用如下語句:
truncate?table?friends;
truncate 和 delete的效率問題:
如果想要刪除表的所有數(shù)據(jù),truncate語句要比 delete 語句快。因?yàn)?truncate 刪除了表,然后根據(jù)表結(jié)構(gòu)重新建立它,而 delete 刪除的是記錄,并沒有嘗試去修改表。這也是為什么當(dāng)向一個使用 delete 清空的表插入數(shù)據(jù)時,MySQL 會記住前面產(chǎn)生的AUTOINCREMENT序列,并且繼續(xù)利用它對AUTOINCREMENT字段編號。而truncate刪除表后,表是從1開始為autoincrement字段編號。
不過truncate命令快規(guī)快,卻不像delete命令那樣對事務(wù)處理是安全的。因此,如果我們想要執(zhí)行truncate刪除的表正在進(jìn)行事務(wù)處理,這個命令就會產(chǎn)生退出并產(chǎn)生錯誤信息。