前言
为什么操作表要用命令,而不直接使用简便的可视化工具直接操作呢?
在数据量小的时候,使用可视化工具显然更用户友好,简单的鼠标点击操作,无需学习直接入门。
但是当数据量越来越大时,使用可视化工具操作就不现实了,比如:一张有三千万行的大表,怎么可能用手点的方式去治理呢?
使用命令行的方式,显然更便捷更不容易出错。
如何修改表名
举例:
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条左右