mysql导出Excel表格

[root@server1 ]# mysql //进入容器的数据库
mysql>  create database school; //创建school数据库
Query OK, 1 row affected (0.00 sec)
mysql> show databases; //查看所有数据库,是否出现school
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| school             |
| sys                |
+--------------------+
5 rows in set (0.01 sec)
mysql> use school; //进入数据库
Database changed
mysql> create table users (username char(64) not null, password int(24) default '123123', primary key (username)); //创建users表
Query OK, 0 rows affected (0.02 sec)
mysql> show tables; //查看school数据库中的所有表
+------------------+
| Tables_in_school |
+------------------+
| users            |
+------------------+
mysql> insert into users(username,password) values('wangtong',111111); //添加5条数据
Query OK, 1 row affected (0.01 sec)

mysql> insert into users(username,password) values('lining',111112);
Query OK, 1 row affected (0.01 sec)

mysql> insert into users(username,password) values('xuwenyu',111113);
Query OK, 1 row affected (0.01 sec)

mysql> insert into users(username,password) values('wangwu',111114);
Query OK, 1 row affected (0.01 sec)

mysql> insert into users(username,password) values('zhaoliu',111115);
Query OK, 1 row affected (0.01 sec)
mysql> select* from users; //查询数据
+----------+----------+
| username | password |
+----------+----------+
| lining   |   111112 |
| wangtong |   111111 |
| wangwu   |   111114 |
| xuwenyu  |   111113 |
| zhaoliu  |   111115 |
+----------+----------+
另起一个终端:新建一个/a的目录
[root@server1 ~]# mkdir /a
[root@server1 ~]# cd /
[root@server1 /]# ll
总用量 30
drwxr-xr-x.   2 root root    6 12  3 10:31 a
mysql> select * from users into outfile '/a/test.xls';  //将数据库文件导入/a目录下
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement  //出现报错,需要附加权限
mysql> exit  //退出数据库
Bye
修改配置文件
[root@server1 mysql]# vi /etc/my.cnf 
     19 secure-file-priv = ""
     20 server-id=1
添加一行数据,若特定路径需在“”内添加该路径,若不限定,自由创建,只要有权限就可以导入,就留空值
重启服务,查看服务是否开启
[root@server1 ~]# systemctl restart mysqld.service 
[root@server1 ~]# netstat -anpt | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      73461/mysqld        
再次进入数据库,进行配置
[root@server1 ~]# mysql
mysql> use school;
mysql>  select * from users into outfile '/a/test.xls';  //将数据库文件导入/a目录下 出现以下报错
ERROR 1 (HY000): Can't create/write to file '/a/test.xls' (Errcode: 13 - Permission denied) 提示权限出现问题
另一台终端修改权限 /a目录
[root@server1 /]# cd
[root@server1 ~]# chmod 777 /a
[root@server1 ~]# ll /
总用量 30
drwxrwxrwx.   2 root root    6 12  3 10:31 a
mysql>  select * from users into outfile '/a/test.xls'; //再次测试,此时可以创建成功
Query OK, 4 rows affected (0.00 sec)
另一台终端查看/a目录下是否有表test生成
[root@server1 ~]# ls /a
test.xls

登录虚拟机图形化界面(查看有test.xls文件生成)
在这里插入图片描述
将该文件复制粘贴到系统桌面
在这里插入图片描述
打开,发现数据以表格的形式存储
在这里插入图片描述

附加:报错解决方案
现网现在流行一个技术为将mysql数据库中表格导出给excel去用,那么如何实现呢?
已进入数据库:

mysql> select xingming,chengji from chengji into outfile '/tmp/user.xls';

未登录数据库的数据导出(终端导出)

#mysql -uroot -pabc123 -e "select xingming,chengji from aaa.chengji" > /opt/user.xls;

此时出现了报错信息:

ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

报错原因:

mysql> show global variables like '%secure_file_priv%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| secure_file_priv | NULL  |
+------------------+-------+
secure_file_priv 为 NULL 时,表示限制mysqld不允许导入或导出。
secure_file_priv 为 /tmp 时,表示限制mysqld只能在/tmp目录中执行导入导出,其他目录不能执行。
secure_file_priv 没有值时,表示不限制mysqld在任意目录的导入导出。

解决方案:修改secure_file_priv变量值

mysql>  set global secure_file_priv='';
ERROR 1238 (HY000): Variable 'secure_file_priv' is a read only variable
为只读变量,不给修改变量值

解决方案:

vi /etc/my.cnf
[mysqld]
secure_file_priv=''
systemctl restart mysqld
此时,再打开头那两条命令即可。
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要将MySQL Workbench中的表导出Excel表格,可以按照以下步骤操作: 1. 在MySQL Workbench中打开要导出的数据库连接。 2. 选择要导出表格,右键点击表格名称,选择“Table Data Export Wizard”。 3. 在导出向导中,选择要导出表格导出格式为“Microsoft Excel”。 4. 配置导出选项,包括文件名、文件路径、导出数据的范围等。 5. 点击“Export”按钮,开始导出Excel表格。 6. 导出完成后,可以在指定的文件路径中找到导出Excel表格文件。 希望以上步骤能够帮助您成功导出MySQL Workbench中的表格Excel表格。 ### 回答2: MySQL Workbench是一款广泛使用的MySQL数据库设计和管理工具。很多人都希望从MySQL Workbench中导出数据到Excel表格,本文将详细介绍如何进行操作。 首先,在MySQL Workbench中打开要导出的数据库,并选择要导出的数据表。在数据表上右键单击,选择“Table Data Export Wizard”选项,在弹出的窗口中选择要导出的数据行范围和选定要导出数据的列。 在选择要导出的列后,单击“下一步”按钮,然后选择导出格式为“Excel”。然后,选择要导出Excel文件的保存路径和名称,单击“下一步”按钮。 在下一步中,您可以设置一些高级选项,例如分隔符和字符集。单击“下一步”按钮,并在确认页上检查设置,然后单击“导出”按钮,将数据导出Excel表中。 总的来说,MySQL Workbench导出数据到Excel表非常简单,只需选择要导出的数据行和列,并将其配置为Excel格式。在导出过程中,可以调整相应的高级设置以满足导出需求。这种方法是速度相对较快的,同时也可以节省大量的手动操作时间,非常实用。 ### 回答3: MySQL是一个开源的关系型数据库管理系统,MySQL Workbench是MySQL官方提供的一个强大的可视化数据库建模工具。MySQL Workbench内置了导出数据的功能,用户可以将数据以Excel表格的形式导出,在Excel中方便地进行数据分析和处理。 在MySQL Workbench中导出Excel表格有以下几个步骤: 第一步,连接到需要导出数据的数据库。在MySQL Workbench中,选择“连接”菜单栏中的“新建连接”,填写连接信息并点击“测试连接”按钮,连接成功后点击“确定”按钮保存连接。 第二步,选择需要导出的数据表。在MySQL Workbench中,展开连接后的数据库,在左侧“SCHEMAS”栏选择需要导出的数据库,展开该数据库后选择需要导出的数据表。 第三步,选择数据表中的数据行。在MySQL Workbench中,通过执行SQL查询或者在数据表中手动勾选需要导出的数据行。 第四步,导出Excel表格。在MySQL Workbench中,选择“查询”菜单栏中的“导出结果集”,在导出向导中选择“Microsoft Excel”格式,填写导出文件路径并选择需要导出的字段,最后保存导出设置并点击“导出”按钮即可。 在导出Excel表格过程中,需要注意以下几个问题: 1. 导出表格的格式选择:MySQL Workbench支持多种导出格式,用户需要根据实际需求选择。 2. 导出数据的范围选择:用户可以通过手动勾选数据行或者执行SQL语句来选择需要导出的数据范围。 3. 导出数据表格的文件路径选择:用户需要选择一个合适的文件路径来保存导出Excel表格。 4. 导出数据的字段选择:用户可以选择需要导出的字段以减少Excel表格中的数据冗余。 总之,MySQL Workbench内置的导出数据功能为用户提供了一个方便快捷的数据导出手段。用户可以根据实际需求选择合适的导出格式、数据范围、文件路径和字段范围,在Excel中进行方便的数据分析和处理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值