在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    mysql 語句LOAD DATA INFILE高效導(dǎo)入數(shù)據(jù)

    mysql LOAD DATA INFILE使用官方地址

    https://dev.mysql.com/doc/refman/5.7/en/load-data.html

    LOAD DATA

    [LOW_PRIORITY | CONCURRENT] [LOCAL]

    INFILE ‘file_name’

    [REPLACE | IGNORE]

    INTO TABLE tbl_name

    [PARTITION (partition_name [, partition_name] …)]

    [CHARACTER SET charset_name]

    [{FIELDS | COLUMNS}

    [TERMINATED BY ‘string’]

    [[OPTIONALLY] ENCLOSED BY ‘char’]

    [ESCAPED BY ‘char’]

    ]

    [LINES

    [STARTING BY ‘string’]

    [TERMINATED BY ‘string’]

    ]

    [IGNORE number {LINES | ROWS}]

    [(col_name_or_user_var

    [, col_name_or_user_var] …)]

    [SET col_name={expr | DEFAULT}

    [, col_name={expr | DEFAULT}] …]

    load data infile語句從一個(gè)文本/文件中以很高的速度寫入表中。

    讀取位于服務(wù)器上的文本文件時(shí),文件必須處于數(shù)據(jù)庫目錄或可被所有人讀取

    你指定關(guān)鍵詞low_priority,那么MySQL將會(huì)等到?jīng)]有其他人讀這個(gè)表的時(shí)候,才把插入數(shù)據(jù)

    指定local關(guān)鍵詞,則表明從客戶主機(jī)讀文件。如果local沒指定,文件必須位于服務(wù)器上

    eplace和ignore關(guān)鍵詞控制對(duì)現(xiàn)有的唯一鍵記錄的重復(fù)的處理

    fields關(guān)鍵字指定了文件記段的分割格式

    terminated by分隔符:意思是以什么字符作為分隔符

    enclosed by字段括起字符

    escaped by轉(zhuǎn)義字符

    terminated by描述字段的分隔符,默認(rèn)情況下是tab字符()

    enclosed by描述的是字段的括起字符。

    escaped by描述的轉(zhuǎn)義字符。默認(rèn)的是反斜杠(backslash: )

    1、win系統(tǒng)導(dǎo)入

    批處理文件 import.bat 路徑為d:/files/bat

    @ECHO OFF

    /*dbhost執(zhí)行文件不在本服務(wù)器需要,本次忽略*/

    @SET dbhost=主機(jī)名(例如:127.0.0.1)

    /*數(shù)據(jù)庫賬號(hào)名稱*/

    @SET dbuser=***

    /*數(shù)據(jù)庫密碼*/

    @SET dbpasswd=****

    @SET sqlpath=%~dp0

    //需要執(zhí)行的sql語句

    @set sqlfile=demo.sql

    /*未配置環(huán)境變量時(shí)加下下面兩句*/

    @set MySQL_HOME=C:MySQL5.7.26@set PATH=%MySQL_HOME%bin;%PATH%

    /*連接MySQL數(shù)據(jù)庫并執(zhí)行sql腳本 注意database為寫入數(shù)據(jù)庫名*/

    @mysql -u%dbuser% -p%dbpasswd% database < %sqlpath%%sqlfile%

    sq文件 demo.sql 路徑為d:/files/bat

    /*D:filessimple.csv文件路徑 ,table為寫入數(shù)據(jù)表名,uname, phone數(shù)據(jù)庫字段名稱*/

    LOAD DATA LOCAL INFILE ‘D:filessimple.csv’ INTO TABLE table FIELDS TERMINATED BY ‘,’ ENCLOSED BY ‘”‘ LINES TERMINATED BY ‘r’ IGNORE 1 LINES (uname, phone);

    /*退出*/

    quit

    simple.csv

    php執(zhí)行批處理

    $shell = “d: && cd d:/files/bat && import.bat”;system($shell,$status);

    if( $status ){

    echo “執(zhí)行失敗”;

    } else {

    echo “執(zhí)行成功”;

    }

    注意如果system執(zhí)行失敗

    編輯php.ini查找 disable_functions 將等號(hào)后面的 system 去掉即可。其他人自行查資料

    注意導(dǎo)入前開啟mysql local_infile

    開啟local_infile

    2、linux系統(tǒng)導(dǎo)入

    linux導(dǎo)入比較簡(jiǎn)單:

    注意 ***處填寫數(shù)據(jù)庫賬號(hào),****處填寫數(shù)據(jù)庫密碼

    table為寫入數(shù)據(jù)表名,uname, phone數(shù)據(jù)庫字段名

    批處理文件 import.sh 路徑為d:/files/bat

    #!/bin/bash

    mysql -u*** -p**** <<EOF use zsj_datas; LOAD DATA LOCAL INFILE '/d/files/simple.csv' INTO TABLE table FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'r' IGNORE 1 LINES (uname, phone);EOF

    php執(zhí)行批處理

    $shell = ” cd /d/files/bat && sh ./ import.sh”;

    system($shell,$status);

    if( $status ){

    echo “執(zhí)行失敗”;

    } else {

    echo “執(zhí)行成功”;

    }

    注意如果system執(zhí)行失敗

    編輯php.ini查找 disable_functions 將等號(hào)后面的 system 去掉即可。其他錯(cuò)誤自行查資料

    注意導(dǎo)入前開啟mysql local_infile

    開啟local_infile

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    上一篇 2022年6月25日 21:22
    下一篇 2022年6月25日 21:22

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息