六、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