MySQL中刪除數(shù)據(jù)表是非常容易操作的, 但是你再進行刪除表操作時要非常小心,因為執(zhí)行刪除命令后所有數(shù)據(jù)都會消失。
語法
以下為刪除MySQL數(shù)據(jù)表的通用語法:
DROP TABLE table_name ;
在命令提示窗口中刪除數(shù)據(jù)表
在mysql>命令提示窗口中刪除數(shù)據(jù)表SQL語句為 DROP TABLE :
實例
以下實例刪除了數(shù)據(jù)表runoob_tbl:
root@host# mysql -u root -p
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> DROP TABLE runoob_tbl
Query OK, 0 rows affected (0.8 sec)
mysql>
使用PHP腳本刪除數(shù)據(jù)表
PHP使用 mysqli_query 函數(shù)來刪除 MySQL 數(shù)據(jù)表夺克。
該函數(shù)有兩個參數(shù)蔬胯,在執(zhí)行成功時返回 TRUE朋截,否則返回 FALSE蛹稍。
語法
mysqli_query(connection,query,resultmode);
實例
以下實例使用了PHP腳本刪除數(shù)據(jù)表 runoob_tbl:
刪除數(shù)據(jù)庫
<?php
$dbhost = 'localhost:3306'; // mysql服務(wù)器主機地址
$dbuser = 'root'; // mysql用戶名
$dbpass = '123456'; // mysql用戶名密碼
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('連接失敗: ' . mysqli_error($conn));
}
echo '連接成功<br />';
$sql = "DROP TABLE runoob_tbl";
mysqli_select_db( $conn, 'RUNOOB' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('數(shù)據(jù)表刪除失敗: ' . mysqli_error($conn));
}
echo "數(shù)據(jù)表刪除成功\n";
mysqli_close($conn);
?>
執(zhí)行成功后,我們使用以下命令质和,就看不到 runoob_tbl 表了:
mysql> show tables;
Empty set (0.01 sec)</pre>
MySQL 創(chuàng)建數(shù)據(jù)表
這個是從網(wǎng)站摘下來的
MySQL 插入數(shù)據(jù)
刪除表內(nèi)數(shù)據(jù)稳摄,用 delete。格式為:
delete from 表名 where 刪除條件;
實例:刪除學(xué)生表內(nèi)姓名為張三的記錄饲宿。
delete from student where T_name = "張三";
清除表內(nèi)數(shù)據(jù)厦酬,保存表結(jié)構(gòu),用 truncate瘫想。格式為:
style="">truncate table 表名;
實例:清除學(xué)生表內(nèi)的所有數(shù)據(jù)仗阅。
truncate table student;
刪除表用 drop,就是啥都沒了国夜。格式為:
drop table 表名;
實例:刪除學(xué)生表减噪。
drop table student;
1、當(dāng)你不再需要該表時车吹, 用 drop;
2筹裕、當(dāng)你仍要保留該表,但要刪除所有記錄時窄驹, 用 truncate;
3朝卒、當(dāng)你要刪除部分記錄時, 用 delete乐埠。
MySQL 刪除表的幾種情況:
1抗斤、drop table table_name : 刪除表全部數(shù)據(jù)和表結(jié)構(gòu),立刻釋放磁盤空間丈咐,不管是 Innodb 和 MyISAM;
實例瑞眼,刪除學(xué)生表:
drop table student;
2、truncate table table_name : 刪除表全部數(shù)據(jù)棵逊,保留表結(jié)構(gòu)伤疙,立刻釋放磁盤空間 ,不管是 Innodb 和 MyISAM;
實例辆影,刪除學(xué)生表:
truncate table student;
3掩浙、delete from table_name : 刪除表全部數(shù)據(jù),表結(jié)構(gòu)不變秸歧,對于 MyISAM 會立刻釋放磁盤空間,InnoDB 不會釋放磁盤空間;
實例衅澈,刪除學(xué)生表:
delete from student;
4键菱、delete from table_name where xxx : 帶條件的刪除,表結(jié)構(gòu)不變,不管是 innodb 還是 MyISAM 都不會釋放磁盤空間;
實例经备,刪除學(xué)生表中姓名為 "張三" 的數(shù)據(jù):
delete from student where T_name = "張三";
5拭抬、delete 操作以后,使用 optimize table table_name 會立刻釋放磁盤空間侵蒙,不管是 innodb 還是 myisam;
實例造虎,刪除學(xué)生表中姓名為 "張三" 的數(shù)據(jù):
delete from student where T_name = "張三";
實例,釋放學(xué)生表的表空間:
optimize table student;</pre>
6纷闺、delete from 表以后雖然未釋放磁盤空間算凿,但是下次插入數(shù)據(jù)的時候,仍然可以使用這部分空間犁功。