六、MySQL的数据导入与导出


数据的导入与导出

  • 查看导入与导出默认检索路径

    mysql> show variables like "%file%";			# 模糊查询
    mysql> show variables like "secure_file_priv";	# 精确路径查询
    
    mysql> system ls /var/lib/mysql-files			# 查看该目录
    
    # system 可以在mysql交互模式下执行系统命令
    
  • 修改默认检索路径

    [root@admin ~]# mkdir /myload
    [root@admin ~]# chown mysql /myload
    
    [root@admin ~]# vim /etc/my.cnf
    [mysqld]
    secure_file_priv="/myload"
    secure_file_priv
    
    [root@admin ~]# systemctl restart mysqld
    
    mysql> show variables like "secure_file_priv";
    | secure_file_priv | /myload/ |
    

数据的导入操作

  • 数据导入

    什么是数据导入: 把系统文件内容存储到数据库服务器的表里
    
    数据导入步骤
     - 默认只有root用户有数据导入权限
     - 建库 建表(表结构根据文件内容创建)
     - 导入数据
    
    命令格式
    mysql> load data infile "目录名/文件名" 
    into table 库名.表名 
    fields terminated by "分隔符" 		# 区分列
    lines terminated by "\n";		  # 区分行
    
  • 数据导入示例

    mysql> create table user( username char(50), password char(1), uid int, gid int, comment varchar(150), homedir char(150), shell char(50));
    
    mysql> load data infile "/myload/passwd" into table user fields terminated by ":" lines terminated by "\n";
    
    mysql> select * from user;			# 查看导入结果
    
    mysql> alter table user add id int primary key auto_increment first; # 为该表添加一条id字段并设置为主键
    

数据的导出操作

  • 数据导出

    什么是数据导出?把表记录保存到系统文件里
    
    命令格式
     select命令 into outfile "目录/文件名";
     select命令 into outfile "目录/文件名" fields terminated by "分隔符";
     select命令 into outfile "目录/文件名" fields terminated by "分隔符" lines terminated by "\n";
    
    # 目录只能是之前配置的检索目录
    
  • 数据导出示例

    mysql> select * from user into outfile "/myload/1.txt";
    mysql> select * from user into outfile "/myload/2.txt" fields terminated by "<-->";
    mysql> select * from user into outfile "/myload/3.txt" fields terminated by "<-->" lines terminated by "\n";
    
    # 分别查看输出的三个文件,查看导出文件的区别
      - 不指定分隔符时,默认使用制表符
      - 好像有自动'\n'
    


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM