mysqldump 使用通配符批量导出多个表

本文介绍了如何使用mysqldump命令通过通配符高效导出数据库中带有特定前缀(如2020_10_23和2020_10_24)的多张表,包括了示例和处理多个条件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:有许多个表需要导出,这些表名有相同的前缀
解决方法:使用通配符
例如,需要导出前缀2020_10_23的表
在这里插入图片描述
mysqldump -uusername -ppassword ddd2_logsystem $(mysql -uusername -ppassword -Dddd2_logsystem -Bse "show tables like '2020_10_24%'") > /data/ddd2_logsystem_2020_10_24.sql

如果需要匹配多个条件:
例如,需要导出前缀2020_10_23和前缀是2020_10_24的表
mysqldump -uusername -ppassword ddd2_logsystem $(mysql -uusername -ppassword -Dddd2_logsystem -Bse "show tables from ddd2_logsystem where tables_in_ddd2_logsystem like '2020_10_24%' or tables_in_ddd2_logsystem like '2020_100_23%'") > /data/ddd2_logsystem.sql

<think>好的,用户现在想查找MySQL的常见指令和用法,需要一份汇总及使用示例。先回顾一下之前的对话历史,用户之前询问了如何进入MySQL,现在进一步想了解常见指令。需要结合用户提供的三个引用内容,尤其是关于多查询、基本指令和主键的部分。 首先,用户引用的[1]提到了多联结查询的重要性,所以在汇总指令时,必须包含JOIN相关的命令,并给出示例。引用[2]中的例子是内连接查询,可以作为一个示例。引用[3]主要关于主键的定义和约束,需要在数据库和操作部分强调主键的设置。 接下来,用户的问题需要覆盖常见的MySQL指令,包括数据库操作、操作、数据操作、查询、用户权限管理以及进阶操作。需要确保每个部分都有基本指令和示例,尤其是多查询部分需要详细说明JOIN的类型和使用方法。 另外,用户可能不仅需要基础指令,还可能关心实际应用中的常见问题,比如如何优化查询、索引的使用等,但根据当前问题,应集中在指令的汇总和示例上。需要检查是否有遗漏的关键指令,如事务处理、视图、存储过程等,但根据引用内容,可能不需要太深入,保持汇总的全面性同时不过于复杂。 还需要注意格式,用户希望使用中文回答,正确使用LaTeX格式的行内公式和独立公式。但在这个回答中,主要是代码块和指令示例,所以需要确保代码块正确使用反引号,并且示例清晰易懂。 最后,生成的相关问题需要与用户当前需求相关,比如如何优化多查询、主键设计原则等,引导用户进一步深入学习。同时,确保引用标注正确,比如在提到主键时引用[3],在JOIN查询时引用[1]和[2]。</think>### MySQL常见指令分类汇总及使用示例 #### 一、数据库操作类 1. **创建数据库** ```sql CREATE DATABASE school DEFAULT CHARSET=utf8mb4; -- 指定字符集[^3] ``` 2. **切换数据库** ```sql USE school; -- 后续操作将作用于该数据库 ``` 3. **显示数据库列** ```sql SHOW DATABASES; ``` #### 二、结构操作类 1. **创建(含主键约束)** ```sql CREATE TABLE students ( id INT PRIMARY KEY AUTO_INCREMENT, -- 主键自增[^3] name VARCHAR(20) NOT NULL, class_id INT, INDEX idx_class (class_id) -- 创建索引 ); ``` 2. **添加字段** ```sql ALTER TABLE students ADD COLUMN gender ENUM('M','F') AFTER name; ``` 3. **查看结构** ```sql DESC students; ``` #### 三、数据操作类 1. **插入数据** ```sql INSERT INTO students (name, gender, class_id) VALUES ('张三', 'M', 1), ('李四', 'F', 2); -- 批量插入 ``` 2. **更新数据** ```sql UPDATE students SET class_id=3 WHERE id=1; -- 带条件更新 ``` 3. **删除数据** ```sql DELETE FROM students WHERE id=2; -- 删除指定记录 ``` #### 四、查询操作类 1. **基础查询** ```sql SELECT * FROM students WHERE gender='M' LIMIT 10; ``` 2. **多联结查询** ```sql SELECT s.name, c.class_name FROM students s INNER JOIN classes c ON s.class_id = c.id; -- 内连接[^1][^2] ``` 3. **聚合查询** ```sql SELECT class_id, COUNT(*) AS total FROM students GROUP BY class_id HAVING total > 5; -- 分组筛选 ``` #### 五、权限管理类 1. **创建用户** ```sql CREATE USER 'teacher'@'%' IDENTIFIED BY 'SecurePwd123!'; ``` 2. **授予权限** ```sql GRANT SELECT, INSERT ON school.* TO 'teacher'@'%'; ``` 3. **查看权限** ```sql SHOW GRANTS FOR 'teacher'@'%'; ``` #### 六、进阶操作类 1. **事务处理** ```sql START TRANSACTION; UPDATE accounts SET balance=balance-100 WHERE user_id=1; UPDATE accounts SET balance=balance+100 WHERE user_id=2; COMMIT; -- 原子操作示例 ``` 2. **创建视图** ```sql CREATE VIEW student_view AS SELECT s.id, s.name, c.class_name FROM students s LEFT JOIN classes c USING(class_id); ``` #### 七、系统维护类 1. **导出数据库** ```bash mysqldump -uroot -p school > school_backup.sql ``` 2. **导入数据库** ```bash mysql -uroot -p school < school_backup.sql ``` 3. **查看进程列** ```sql SHOW PROCESSLIST; -- 监控当前连接 ``` ### 核心技巧提示 1. **索引优化**:`EXPLAIN SELECT...` 分析查询执行计划[^3] 2. **数据类型选择**:金额用DECIMAL,时间用DATETIME/TIMESTAMP 3. **安全规范**:生产环境避免使用`%`通配符授权
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值