Mysql常用sql语句之修改表名、删除表、获取表信息、删除指定日期的表记录(处理三千万行大表)

本文介绍如何在命令行下操作数据库,包括修改表名(ALTER TABLE)、删除表(DROP TABLE)、获取表基本信息(INFORMATION_SCHEMA)以及删除指定日期记录的方法。特别关注于大表场景下的高效操作技巧。
摘要由CSDN通过智能技术生成

前言

为什么操作表要用命令,而不直接使用简便的可视化工具直接操作呢?

在数据量小的时候,使用可视化工具显然更用户友好,简单的鼠标点击操作,无需学习直接入门。
但是当数据量越来越大时,使用可视化工具操作就不现实了,比如:一张有三千万行的大表,怎么可能用手点的方式去治理呢?
使用命令行的方式,显然更便捷更不容易出错。

如何修改表名

举例:
ALTER table A RENAME TO B;
把表A改名为表B

如何删除表

此处使用drop删除,关于drop,delete,truncate的区别见:
https://blog.csdn.net/GBS20200720/article/details/125128287?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165613788116782248557404%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165613788116782248557404&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-4-125128287-null-null.nonecase&utm_term=drop&spm=1018.2226.3001.4450

drop:
DROP TABLE A;
A为表名

如何获取表的基本信息

select * from information_schema.tables where table_name=‘A’;
A为表名

这里列举比较重要的参数

TABLE_ROWS(表的行数):39137335

AVG_ROW_LENGTH(每行的平均长度):126

DATA_LENGTH(数据长度):4951375872

如何删除指定日期的表记录

获取三个月以前的数据sql:

SELECT *
FROM tp_order_cancel_log
WHERE add_time < curdate() - INTERVAL 3 MONTH
ORDER BY add_time DESC;

add_time是我这张表里面定义的记录创建时间的字段(更常用的一般是create_time)

删除三个月以前的数据sql:
DELETE *
FROM tp_order_cancel_log
WHERE add_time < curdate() - INTERVAL 3 MONTH;

实际删除数据,夜间删除,控制对库的压力,持续半小时、130w条左右

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值