mysql删除schema_数据库

2ff34e647e2e3cdfd8dca593e17d9b0a.png

这里的删除分为:删除表中的部分数据

删除表的所有数据:下次添加数据前不需要新建表

同时删除表的数据和表的定义:下次添加数据之前必须新建表

主要关键词有:TRUNCATE DROP DELETE

下面按删除类型介绍操作语句:

1.DELETE FROM 表 WHERE 字段 = 值:选择性地删除一行

有趣的是,MySQL对DELETE语句添加了标准SQL语句没有的一些功能:

2.DELETE FROM 表 WHERE 字段 = 值 LIMIT 数量:当WHERE过滤结果有多个时删除前面的几个,即删除过滤结果中的部分数据

如果上述语句2对删除部分结果的排序标准不明确可以使用ORDER BY指定排序字段,再使用LIMIT限制删除部分数据:

3.DELETE FROM 表 WHERE 字段 = 值 ORDER BY 排序字段 LIMIT 数量:由小到大

4.DELETE FROM 表 WHERE 字段 = 值 ORDER BY 排序字段 DESC LIMIT 数量:由大到小

删除一列

UPDATE

删除所有行但保留表的定义

1.DELETE FROM 表:返回被删除的记录数,自增字段起始值恢复为1

2.TRUNCATE TABLE 表:不返回被删除的记录数,自增字段起始值恢复为1

3.DELETE FROM 表 WHERE true:返回被删除的记录数,自增字段起始值不变

注意:语句3由于加了WHERE将进行逐行扫描(尽管不进行WHERE判断),而语句1直接删除所有数据就好了,所以语句3的执行成本高于语句1

语句2相对于语句1虽然不能返回被删除的记录数,但是非常快

删除指定表(包括内容和定义)

DROP TABLE 表

删除指定数据库的所有表数据(保留结构)

首先要能遍历到所有表:SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA=’数据库名’

然后我们使用内置连接语句CONCAT生成多个命令:

SELECT CONCAT(‘TRUNCATE TABLE ‘, TABLE_NAME, ‘;’) FROM information_schema.TABLES WHERE TABLE_SCHEMA=’数据库名’:注意TRUNCATE TABLE后面留一个空格

其他

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值