mysql删除数据表
mysql中删除数据表是非常容易操作的,但是你再进行删除表操作是要
非常小心,因为执行删除命令后所有数据都会消失。
语法
以下为删除mysql数据表的通用语法:
DROP TABLE table_name ;
在命令提示窗口中删除数据表
在mysql>命令提示窗口中删除数据表sql语句为drop table
实例
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脚本删除数据表
该函数有两个参数,在执行成功时返回TRUE,否则返回FALSE。
语法
mysqli_query(connection,query,resultmode);
参数 | 描述 |
---|---|
connection | 必需。规定要使用的 MySQL 连接。 |
query | 必需,规定查询字符串。 |
resultmode | 可选。一个常量。可以是下列值中的任意一个:
|
实例
以下实例使用了php脚本删除数据表runoob_tbl:
删除数据库
<?dbhost = 'localhost:3306'; //mysql服务器主机地址
$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 (’数据表删除失败:'.mysqli_error($conn));
}
echo "数据表删除成功\n";
mysqli_close($conn);
?>
执行成功后,我们使用以下命令,就看不到runoob_tbl表了:
mysql>show tables:
Empty set (0.01 sec)
笔记
删除表内数据,用delete.格式为:
delete from 表名 where 删除条件;
实例:删除学生表内姓名为张三的记录。
delete from Student where T_name = "张三”;
清除表内数据,保存表结构,用truncate。格式为:
truncate table 表名;
删除表用drop,就是啥都没了。格式为:
drop table 表名;
实例:删除学生表。
drop table student;
1.当你不再需要该表时,用drop;
2.当你仍要保留该表,但要删除所有记录时,用truncate
3.当你要删除部分记录时,用delete。
mysql删除表的几种情况:
1.drop table table_name:删除表全部数据和表结构,立刻释放磁盘空间,不敢是
inoodb和mylsam;
2.turncate table table_name:删除表全部数据,保留表结构,立刻释放
磁盘空间,不管是innodb和MylSAM;
实例,删除学生表:
truncate table student;
3,delete from table_name:删除表全部数据,表结构不变,对于mylsam
会立刻释放磁盘空间,innoDB不会释放磁盘空间;
实例,删除学生表:
delete from student;
4.delete from table_name where xxx:带条件的删除,表结构不变,
不管是innodb还是mylsam都不会释放磁盘空间;
实例,删除学生表中姓名为’张三‘的数据:
delete from student where T_name = "张三";
5.delete 操作以后,使用optimize table table_name 会立刻释放磁盘空间,
不管是innodb还是myisam;
实例,删除学生表中姓名为‘张三’的数据:
delete from student where T_name ="张三”;
实例,释放学生表的表空间:
optimize table student;
6.delete from 表以后虽然未释放磁盘空间,但是下次插入数据的时候,
仍然可以使用这部分空间。