簡體   English   中英

mariadb 中是否有任何內容可以從 .txt 文件或其他格式導入數據,我可以在其中定義從 position 到 position 的歸檔值長度?

[英]Is there anything in mariadb to import data from .txt file or different format where i can define a filed value length from position to position?

嘗試在 maridadb 中導入數據,我的數據看起來像

“20220910SATURDAY” “20220911MON” “20220912TUE” “20220913THUR”

表示數據。 我的數據庫結構化列是:column1:Year,column2:Month,Column3:Day,Column4:DayInLetters。 需要定義一個配置,例如每行前 4 個字母,即從 0 到 3 是年份字段,4-5 是 Mon,6-7 是 Day,8-last 是 DayInLetters。 有什么解決辦法嗎?

這是LOAD DATA INFILE的工作。 因為輸入文件中的字段不是由逗號、制表符或類似內容分隔的,所以您需要使用一種不常見的功能,稱為輸入預處理

將此 SQL 語句提供給命令行 mysql 客戶端將起作用。

LOAD DATA INFILE '/tmp/data.txt' INTO TABLE tbl (@line)
      SET year =           SUBSTRING(@line, 1, 4),
          month =          SUBSTRING(@line, 5, 2),
          day =            SUBSTRING(@line, 7, 2),
          day_in_letters = SUBSTRING(@line, 9);

這會將命名文件的每一行依次加載到臨時變量@line中,然后為每一列提取substring

但是,專業提示,將日歷日期放入DATE 列(或 TIMESTAMP 或 DATETIME 列)比設計自己的日歷日期表示方式要好得多。 MariaDB 和 MySQL 具有全面且經過完全調試的日期算術功能

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM