在日常的数据库管理工作中,导入导出数据、查看表结构、限制查询结果、调整表结构乃至删除表,都是开发者和运维人员高频接触的操作。MySQL 作为主流的关系型数据库,提供了丰富的 Shell 命令和 SQL 语句来完成这些工作。本文将系统梳理 MySQL 数据导入导出、DDL 查看、查询限制、表结构修改及表删除的核心操作,结合实际场景讲解用法、注意事项和最佳实践,帮助读者高效掌握这些必备技能。
一、MySQL 数据导入导出:Shell 终端实操指南
数据的导入导出是数据库备份、迁移、批量更新的核心环节。MySQL 支持在 Shell 终端中通过命令完成这些操作,相比在 MySQL 客户端内执行,终端操作更适合自动化脚本、批量处理等场景。
1. 数据导入:LOAD DATA LOCAL INFILE
LOAD DATA LOCAL INFILE 是 MySQL 中高效导入本地文件数据到数据表的命令,需在 Shell 终端的 MySQL 交互模式下执行(先登录 MySQL,再执行命令)。其核心语法如下:
# 登录 MySQL(终端执行)
mysql -uroot -p
# 进入目标数据库
use stu;
# 本地导入数据
load data local infile '文件绝对路径/相对路径' into table 表名 fields terminated by '分隔符';
关键参数说明
local:表示读取客户端本地的文件,而非 MySQL 服务器端的文件;若省略该参数,MySQL 会读取服务器端指定路径的文件,需确保服务器有该文件的访问权限。fields terminated by '分隔符':指定文件中字段的分隔符,常见的有逗号(,)、制表符(\t)、竖线(|)等,需与导入文件的格式匹配。
实操示例
假设存在 /root/data/students.txt 文件,内容为制表符分隔的学生数据(学号、姓名、年龄):
101 张三 20
102 李四 21
103 王五 22
要将该数据导入 stu 数据库的 students 表(字段为 stu_id、name、age),操作如下:
mysql -uroot -p123456
use stu;
load data local infile '/root/data/students.txt' into table students fields terminated by '\t';
注意事项
- 执行该命令前,需确保 MySQL 客户端开启了
local-infile权限,可在登录时指定:mysql -uroot -p --local-infile=1。 - 导入文件的字段数量、顺序需与目标表一致,否则会导致数据错位或导入失败。
- 若目标表有主键、唯一索引等约束,需确保导入数据不违反约束,否则导入会中断。
2. 数据导出:mysqldump 命令
mysqldump 是 MySQL 官方提供的备份工具,可在 Shell 终端直接执行,用于导出数据库、表的结构和数据,是数据库备份的首选方式。
基础语法:导出指定表
mysqldump -u 用户名 -p 密码 数据库名 表名 > 导出文件路径
示例:导出 stu 数据库的 students 表到 /root/data/mydb.sql:
mysqldump -uroot -p123456 stu students > /root/data/mydb.sql

