上一篇
场景引入:
凌晨两点,你正盯着屏幕上一张报错的订单表发愁——客户投诉数据丢失,而老板明早要分析报告,这时候,与其疯狂百度零散的SQL语法,不如掌握这些真正高频实用的MySQL命令,本文将用最直白的语言,带你快速解决90%的日常数据库管理问题。
-- 连接数据库(记住端口3306是MySQL默认门牌号) mysql -u root -p Enter password: ****** -- 查看所有数据库(像翻文件夹一样简单) SHOW DATABASES; -- 切换数据库(别在别人家仓库里瞎翻) USE orders_db; -- 查看当前库所有表(先摸清地形) SHOW TABLES;
-- 整库备份(救命稻草命令) mysqldump -u root -p orders_db > orders_backup_20250815.sql -- 恢复数据(时间倒流术) mysql -u root -p orders_db < orders_backup_20250815.sql -- 只备份特定表(精准抢救) mysqldump -u root -p orders_db customers orders > critical_data.sql
-- 基础查询(别用SELECT * 浪费资源) SELECT id, name, email FROM users WHERE status = 'active'; -- 日期范围查询(日期格式是常见坑) SELECT * FROM orders WHERE order_date BETWEEN '2025-08-01' AND '2025-08-15'; -- 模糊搜索(%是通配符,小心性能) SELECT product_name FROM products WHERE description LIKE '%防水%'; -- 分页查询(LIMIT是分页神器) SELECT id, title FROM articles ORDER BY create_time DESC LIMIT 20 OFFSET 40;
-- 安全插入(明确字段更稳妥) INSERT INTO users (username, email) VALUES ('张三', 'zhangsan@example.com'); -- 批量插入(比单条快10倍) INSERT INTO products (name, price) VALUES ('鼠标', 99.9), ('键盘', 199), ('显示器', 899); -- 条件更新(忘加WHERE会全表遭殃) UPDATE inventory SET stock = stock - 1 WHERE product_id = 1005; -- 软删除技巧(实际常用标记而非真删除) UPDATE comments SET is_deleted = 1 WHERE id = 2048;
-- 创建用户(localhost限制本地访问) CREATE USER 'report_user'@'localhost' IDENTIFIED BY 'StrongPass123!'; -- 授权(精确到表级别) GRANT SELECT ON orders_db.* TO 'report_user'@'localhost'; -- 查看权限(检查是否有"混进管理员"的情况) SHOW GRANTS FOR 'report_user'@'localhost'; -- 改密码(定期安全措施) ALTER USER 'report_user'@'localhost' IDENTIFIED BY 'NewPass456!';
-- 查看正在运行的查询(发现慢查询元凶) SHOW PROCESSLIST; -- 查看表状态(数据量心里有数) SHOW TABLE STATUS LIKE 'order_details'; -- 添加索引(加速查询必备) ALTER TABLE products ADD INDEX idx_category (category); -- 分析查询执行计划(SQL调优指南针) EXPLAIN SELECT * FROM orders WHERE user_id = 100;
字段类型陷阱:
时间处理技巧:
-- 获取三天前的数据 SELECT * FROM logs WHERE create_time < NOW() - INTERVAL 3 DAY; -- 格式化日期显示 SELECT DATE_FORMAT(create_time, '%Y年%m月%d日') FROM orders;
事务控制:
START TRANSACTION; UPDATE accounts SET balance = balance - 100 WHERE user_id = 5; UPDATE accounts SET balance = balance + 100 WHERE user_id = 8; -- 确认无误再提交 COMMIT; -- 发现问题可回滚 ROLLBACK;
最后提醒:
OPTIMIZE TABLE
维护数据库健康 掌握这些命令,你就能像老司机一样驾驭MySQL数据库了,下次数据危机时,淡定敲键盘的样子绝对能让同事眼前一亮。
本文由 革瑞渊 于2025-08-06发表在【云服务器提供商】,文中图片由(革瑞渊)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/549480.html
发表评论