在 MySQL 数据库中,对于不再需要的数据表,我们可以将其从数据库中删除。
在删除表的同时,表的结构和表中所有的数据都会被删除,因此在删除数据表之前最好先备份,以免造成无法挽回的损失。
下面我们来了解一下 MySQL 数据库中数据表的删除方法。
基本语法
使用语句可以删除一个或多个数据表,语法格式如下:
DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 …]
对语法格式的说明如下:
两点注意:
删除表的实例
选择数据库 test_db,创建 tb_emp3 数据表,输入的 SQL 语句和运行结果如下所示。
mysql> USE test_db;Database changedmysql> CREATE TABLE tb_emp3-> (-> id INT(11),-> name VARCHAR(25),-> deptId INT(11),-> salary FLOAT-> );Query OK, 0 rows affected (0.27 sec)mysql> SHOW TABLES;+--------------------+| Tables_in_test_db|+--------------------+| tb_emp2|| tb_emp3|+--------------------+2 rows in set (0.00 sec)
由运行结果可以看出,test_tb 数据库中有 tb_emp2 和 tb_emp3 两张数据表。
我们来删除数据表 tb_emp3,输入的 SQL 语句和运行结果如下所示:
mysql> DROP TABLE tb_emp3;Query OK, 0 rows affected (0.22 sec)mysql> SHOW TABLES;+--------------------+| Tables_in_test_db|+--------------------+| tb_emp2|+--------------------+1 rows in set (0.00 sec)
执行结果可以看到,test_db 数据库的数据表列表中已经不存在名称为 tb_emp3 的表,删除操作成功。
sqlserver2005,如何将一个数据库中的所有表的数据清空,而约束不删?跪求答案
TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。 新行标识所用的计数值重置为该列的种子。 如果想保留标识计数值,请改用 DELETE。 如果要删除表定义及其数据,请使用 DROP TABLE 语句。
初次打开mysql5.6后,怎么使用呢?
一、mysql是通过DOS命令方式操作的,所以需要让DOS能找到相关命令,就得需要做一下配置,首先我们需要指定mysql服务启动启动的文件,用到bin包下的命令,可以通过环境变量配置找到此命令,也可通过在文件中添加下面配置的方式找到此命令:[WinMySQLAdmin]# 指定mysql服务启动启动的文件Server=D:/yan_package/mysql-5.6.23-win32/bin/对上述图的参数做下解释说明:basedir:设置mysql的安装目录datadir:设置mysql数据库的数据的存放目录port: 端口号server_id: server-id值类似于IP地址:这些ID值能唯一识别复制服务器群集中的每个服务器实例,如果设置主从服务器时,每个服务器必须有一个唯一的server-id值,且不相同。 也可以在配置文件中设置mysql服务器的字符集default-character-set=gbk二、文件修改好后,进入DOS命令安装mysql服务三、启动mysql服务四、在mysql控制台下以Root用户登录,默认root用户是没有密码的,直接按回车。 八、登录成功后,可以看到都有哪些数据库.补充:停止mysql的服务用net sTop mysql删除mysql的服务用mysqld -remove
在ORCLE数据库中,一个表有两千万条数据,怎样最有效的将其删除

如果楼主要删除全部数据,那就用TRUNCATE TABLE,但是这个命令只能用来删除所有数据,
用DELETE会有高水位线的问题,比如删数据之前,查询需要10秒,用DELETE * 删除所有数据后,再查询那个空表肯定还是10秒.另外用DELETE会造成大量日志写入,效率上肯定是慢的
如果删除表,直接DROP就行..楼上那位有一点说错了,DROP TABLE是对数据字典的操作,只会删除表定义,不会删数据,所以速度很快,那些数据会在其所在的数据块被再次写入新数据的时候覆盖掉
发表评论