mysql 常用 数据库导出 命令
1. **使用`mysqldump`命令导出整个数据库** - 基本语法:`mysqldump -u [用户名] -p [数据库名]> [导出的文件名.sql]` - 例如,要导出名为`mydb`的数据库,用户名为`root`,可以在命令行中输入: - `mysqldump -u root -p mydb > mydb_backup.sql` - 执行这个命令后,系统会提示你输入密码。输入正确的密码后,`mydb`数据库的结构和数据就会被导出到`mydb_backup.sql`文件中。这个文件是一个SQL脚本,其中包含了创建表的语句和插入数据的语句等,可以用于在其他MySQL服务器上重建数据库。 2. **导出指定表的数据和结构** - 语法:`mysqldump -u [用户名] -p [数据库名] [表名1] [表名2]...> [导出的文件名.sql]` - 例如,要从`mydb`数据库中导出`users`表和`orders`表,命令如下: - `mysqldump -u root -p mydb users orders > mydb_tables_backup.sql` 3. **只导出数据库结构(不含数据)** - 可以使用`--no - data`选项。语法为:`mysqldump -u [用户名] -p --no - data [数据库名]> [导出的文件名.sql]` - 例如: - `mysqldump -u root -p --no - data mydb > mydb_structure.sql` - 这样导出的文件中只有创建表、索引等数据库结构相关的SQL语句,没有插入数据的语句。 4. **导出数据为CSV格式(仅数据,不含结构)** - 可以在MySQL命令行中使用`SELECT...INTO OUTFILE`语句。不过要注意,执行这个操作需要有文件写入权限。 - 基本语法:`SELECT * FROM [数据库名].[表名] INTO OUTFILE '[文件路径和文件名.csv]' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';` - 例如,要将`mydb`数据库中的`users`表数据导出为CSV格式,假设MySQL服务器允许文件写入操作,并且文件要保存到`/tmp/users.csv`,可以在MySQL命令行中执行以下语句(先登录到MySQL): - `USE mydb;` - `SELECT * FROM users INTO OUTFILE '/tmp/users.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';` - 这会将`users`表中的数据以CSV格式导出,其中字段之间用逗号分隔,字符串字段用双引号包围,每行数据以换行符结束。不过这种方式在权限设置较严格的服务器环境下可能会受到限制,因为它涉及到文件系统的写入操作。