MySQL 导出数据
MySQL 中你可以使用 SELECT...INTO OUTFILE 语句来简单的导出数据到文本文件上
使用 SELECT ... INTO OUTFILE 语句导出数据
SELECT...INTO OUTFILE 是 MySQL 中用于将查询结果导出到文件的语法
SELECT...INTO OUTFILE 允许你将查询的结果写入一个文本文件,基本的使用方法
SELECT column1, column2, ...
INTO OUTFILE 'file_path'
FROM your_table
WHERE your_conditions;
参数说明:
column1, column2, ...
: 要选择的列'file_path'
: 指定输出文件的路径和名称your_table
: 要查询的表your_conditions
: 查询条件
示例:
SELECT * FROM username INTO OUTFILE "D:/MySQL_Data/test.txt";
如果出现:
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
首先,你需要查看你的secure_file_priv导出地址
show variables like '%secure%';
结果:
mysql> show variables like '%secure%';
+--------------------------+------------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------------+
| require_secure_transport | OFF |
| secure_file_priv | C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\ |
+--------------------------+------------------------------------------------+
2 rows in set, 1 warning (0.00 sec)
一般来说,都是导出目录出了问题,在它默认的地址(C:\ProgramData\MySQL\MySQL Server 8.0\Uploads
)下是不能导出文件的
我们需要修改my.ini这个文件,可能在C:\ProgramData\MySQL\MySQL Server 8.0\
下
需要修改secure_file_priv的导出路径
# This variable is used to limit the effect of data import and export operations, such as
# those performed by the LOAD DATA and SELECT ... INTO OUTFILE statements and the
# LOAD_FILE() function. These operations are permitted only to users who have the FILE privilege.
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
将导出路径进行修改
# This variable is used to limit the effect of data import and export operations, such as
# those performed by the LOAD DATA and SELECT ... INTO OUTFILE statements and the
# LOAD_FILE() function. These operations are permitted only to users who have the FILE privilege.
secure-file-priv="D:/MySQL_Data"
然后重新启动MySQL服务
这时就可以成功导出数据

mysqldump 导出表作为原始数据
mysqldump 是 MySQL 提供的用于备份和导出数据库的命令行工具。
mysqldump 是 mysql 用于转存储数据库的实用程序。它主要产生一个 SQL 脚本,其中包含从头重新创建数据库所必需的命令 CREATE TABLE INSERT 等。
使用 mysqldump 导出数据需要使用 --tab 选项来指定导出文件指定的目录,该目标必须是可写的。
mysqldump 基本的用法
mysqldump -u username -p password -h hostname database_name > output_file.sql
参数说明:
-u
: 指定 MySQL 用户名-p
: 提示输入密码-h
: 指定 MySQL 主机名database_name
: 要导出的数据库名称output_file.sql
: 导出数据保存到的文件
示例:
注意:不要在PowerShell下导出数据,在cmd管理员下导出数据,以下窗口是错误的
1. 导出整个数据库
新建一个终端,执行:
mysqldump -u root -p robomaster > robomaster_backup.sql
.png)
.png)
之后的操作都是一样的
2. 导出特定表
如果你只想导出数据库中的某个表,可以使用以下命令
mysqldump -u root -p robomaster username > username_backup.sql
3. 导出数据库结构
如果只想导出数据库结构而不包括数据,可以使用 --no-data
选项
mysqldump -u root -p --no-data robomaster > robomaster_no_data_backup.sql
导出 SQL 格式的数据
导出 SQL 格式的数据到指定文件
mysqldump -u root -p robomaster username > dump.txt
如果你需要导出整个数据库的数据,可以使用以下命令
mysqldump -u root -p robomaster > dump.txt
如果需要备份所有数据库,可以使用以下命令
mysqldump -u root -p --all-databases > database_dump.txt